We’re a few days into Microsoft’s Build developer event, and it’s clear that Microsoft is happy to embrace its new platforms while still giving some thought to the older ones. Microsoft split their announcements this year between Azure and Microsoft 365, a label they apply to their subscription service to Office, Windows, and many of their other services. Day one was mostly spent covering the former (Azure) and day two on the later (Microsoft 365). Day two was of the most direct interest to us (and likely many of you as developers), but we’ll cover the topics of both days for completeness.
The opening day of the keynote began with a lengthy discussion of social responsibility in tech. Privacy, cyber security, ethics and AI, and removing implicit bias in our algorithmic data processing were mentioned and are important topics for developers to consider as the world becomes ever more digital. We expect this to be a common topic among all tech companies in the years to come.
Azure and IoT were the other big topics for the day with a long discussion around Intelligent Edge. The Azure IoT Edge has been open-sourced, and the also announced a forthcoming Speech Devices SDK for IoT as well to enable voice control for IoT devices in noisy environments. Conversation AI, Kinect, and an announcement that Cortana and Alexa would be gaining more integration in the future.
The most interesting announcements for .NET developers on day one are the features which more actively improved their development experience.The Live Sharing collaboration feature for Visual Studio will be useful for many developers, and it could really improve the code reviews and troubleshooting for certain scenarios since it lets you hop into another developers context directly to help them write and debug code. Microsoft’s also introducing a Azure Kubernetes Service to make it easy to develop and deploy containerized services to the web. Also Microsoft mentioned Visual Studio App Center will offer continuous integration with GitHub which will certainly make life easier for some developers.
The second day had a lot more announcements for the average developer while also mentioning a few interesting details about Windows 10, Office, and Microsoft Graph.
Timelines just rolled out with the Windows 10 April Update, and Microsoft is further introducing a new Launcher for Android and Edge browser for iOS. Timelines keep a historic view of your work including documents, emails, and web pages, and make it easier to resume past work. Microsoft also announced an upcoming Sets feature for Windows 10 which is an enhanced, universal tabbing system. It would allow you to not only group certain sets of apps but make it easier to move between these groupings. The feature also integrates with Microsoft Graph so these sets aren’t limited to your home or office machine, and it should make it easier than ever to do work across multiple devices or resume past work after months away from it.
The biggest sea change for developers was the announcement that .NET Core 3.0 will work with desktop apps. This means that WinForms, WPF, and UWP will share a common version of .NET, and future updates will no longer be dependent on the OS. While this takes a little while to wrap your head around (since .NET Core is traditionally thought of in the server space) it should hopefully simplify the platform picture in the future. While some details are still forthcoming, Microsoft has said that converting apps to .NET Core 3.0 should not be too difficult, and developers who are starting new projects should certainly consider the shift in their plans.
XAML Islands was the other major interesting point for .NET developers as it will enable you to embed UWP controls into your WPF and WinForms apps. Microsoft wants developers to use more of its most modern desktop API, and this acknowledges the fact that a lot of desktop development is still done in Win32. In some ways this is almost an inversion of the XAML Standard idea MS announced last year: rather than make the XAML syntax that could apply to all platforms, instead make a set of controls that can be used everywhere. It’s an interesting development, and Microsoft also promises to bring more Fluent design features to the Win32 platforms.