Reflections on Build 2016

Build 2016 in San Francisco came and went last week, and several of us from JNBridge attended the conference.

While we always enjoy going to San Francisco, and it’s good to show our faces and interact with our contacts at Microsoft and elsewhere, the Build conference is certainly moving in a direction away from our focus of interest. Much of the focus is on consumer technologies: Windows Store, Cortana, mobility, Internet of Things, bots. There was very little about server-side technologies and nothing about BizTalk Server and SharePoint Server, both of which are technologies we need to support because they are of interest to many of our customers. Of course, there were discussions of Visual Studio and .NET, particularly .NET Core, which we found interesting and useful. There were a few announcements at Build that especially piqued our interest: Project Centennial, Xamarin and containerization. There were also some intriguing hints about the future of .NET.

Project Centennial is a set of tools that helps convert traditional Windows “desktop” applications (which actually covers server applications, too) to the Universal Windows Platform (UWP). UWP apps can, in theory, be run on Windows, Windows Phone (although there was very little about Windows Phone at Build; Microsoft seems to be placing most of its mobility bets on Xamarin – see below), Xbox and even HoloLens. While we have no plans to convert JNBridgePro itself to a UWP app, we recognize that our customers who use JNBridgePro in their applications may well want to create UWP applications, so we will be looking into whether this can happen using Project Centennial.  We’ve signed up for early access to the technology and will report on our results over the coming months.

Xamarin, of course, was the high-profile announcement at Build. Xamarin gives Microsoft a set of tools for creating iOS and Android applications using .NET code. We’ve always been interested in extending JNBridgePro’s reach to mobile applications, so we’ll be experimenting with the Xamarin tools. We suspect that Xamarin’s runtime does not currently offer all the APIs needed to support JNBridgePro, but presentations at Build on the future of .NET suggest that that problem might go away in the near future.

The discussions at Build on the future of .NET suggest that, after a number of years where .NET has fragmented into a variety of incompatible platforms (.NET Framework, Windows Runtime, .NET Core, Mono), not all of which support the same APIs, there may be a convergence coming. One of the talks suggested that Microsoft will be working to expand the number of APIs supported on all the .NET platforms so that minimal changes will be necessary when migrating an application from one platform to another. Eventually the hope is that all APIs will be supported on all platforms. We’ve noted that we’ve been unable to run JNBridgePro on .NET Core due to unsupported APIs, and that prevents our users from running JNBridgePro-enabled applications on the Mac and Linux with .NET Core. The hope is that this may soon change. In addition, we hope that this convergence will make it possible to migrate JNBridgePro-enabled applications to iOS and Android using Xamarin.

Finally, we’re highly interested in containerization, as it seems to be the future of server-side deployment. JNBridgePro will run in containers, and we’re following any and all developments that make containers and Windows more compatible. Docker was at Build and announced Docker for Windows, which allows Docker to run directly on Windows without having to run in its own virtual machine (VM). We’ve applied for access to the beta program, and look forward to playing with this new product. In addition, Microsoft announced that support for containers will be built directly into Windows, which means that Windows will soon be running inside containers in addition to Linux. That’s truly exciting for us, as it means that the JNBridgePro .NET side will be able to run in containers on real .NET, as well as on top of Mono, as is required with Docker.

Was there anything announced at Build that excited you? Any technologies announced there that you’d like us to support?  Let us know.