Coming out of Microsoft Build, let us recap the most exciting platform updates and tooling enhancements for .NET developers.
Microsoft just wrapped up its annual Build developer conference in Seattle last week. Build has always been future-facing, showing developers a glimpse of what's possible with modern tooling. Microsoft also deeply cares about developer experiences through rich tooling and longevity of developer platforms. There was much to rejoice from Build 2019 - a cornucopia of announcements of interest to most .NET developers. Let's take a look at some exciting developments enabling .NET developers to build the next-generation of amazing apps.
Visual Studio, in its various forms, provides one of the richest experiences for developers. VS really is a cutting-edge IDE enabling top-notch developer productivity for building any type of app - web, desktop, mobile, cloud or AR/VR, across a variety of programming languages. It is no surprise that Visual Studio continues to get love and investments to empower developers.
VS Code Remote Developer Extensions
Visual Studio Code now enables superior remote development scenarios, thanks to new Extensions. Developers can now write/edit/debug code on remote machines/servers, virtual machines and Docker containers. In the time of increasing implementations of Cloud Native architectures, Remote Developer Extensions for VS Code should provide more ammunition and flexibility for developers to be successful.
Did you know VS Code is essentially a web app running inside an Electron shell? The same rich code authoring experience offered by VS Code will now be available to developers through the browser. While online code editing was already available for Azure hosted projects/solutions, VS Online will make the experience ubiquitous as a companion to Visual Studio and Visual Studio Code. Built for productivity on the go, VS Online will enable developers to pull up any modern browser and have access to their code. VS Online allows for quick code edits, Pull Requests and even joining Visual Studio Live Share sessions.
The beloved .NET continues to evolve, supporting ever increasing platforms and programming paradigms. .NET promises a more unified framework over fragmentation, while enabling app modernization and infusing intelligence into apps.
The promise of One .NET is here - the next iteration will just be called .NET 5 arriving in 2020. This would be a unified .NET stack - combining the best .NET Core and Mono. Developers can think of .NET 5 as a unified single Base Class Library containing APIs for building any type of application - ASP.NET web apps, Xamarin apps for iOS/Android/other platforms, Windows Desktop and IoT. .NET 5 will provide both Just-in-Time (JIT) and Ahead-of-Time (AOT) compilation models to support multiple compute scenarios for both server-side and thin clients.
.NET Core 3
While .NET 5 is out on the horizon, the next iteration of .NET Core 3 is Preview 5 available now. .NET Core 3 brings modernization to Windows Desktop development, enabling access to new APIs and side-by-side .NET runtimes. Both WinForms and WPF apps can now be built on top of .NET Core 3, as well as enabling ASP.NET server-side Blazor apps with C#/Razor syntax.
.NET for Apache Spark
Apache Spark is a unified analytics engine for large-scale data processing. Spark runs on Hadoop, Apache Mesos, Kubernetes, standalone or in the cloud, and can access diverse data sources. A new OSS library adds .NET support to Apache Spark, enabling developers to build solutions with Spark without having to revert to other programming languages.
The next release of Xamarin.Forms promises a new era of productivity for developers building cross-platform mobile apps. Xamarin.Forms 4.0 introduces the Shell - a new way to structure apps. Xamarin.Forms Shell provides full-featured navigation out of the box with flyout menus, bottom/top tabs and URI-based routing. The new Xamarin.Forms Visual NuGet package offers developers an easy way to implement Material Design for app-wide consistency and also the option to customize the Material renderers.
If developers had any doubts about the importance of Machine Learning going forward, it is now built into .NET. ML.NET is an OSS cross-platform framework that runs on Windows, Linux and macOS, making machine learning accessible within .NET. Developers can now build and infuse custom AI into their applications by creating custom machine learning models. This should enable the next generation of intelligent .NET apps capable of ML tasks such as classification, regression, clustering, ranking, recommendations and anomaly detection. ML.NET is now generally available with the first production-ready 1.0 version.
One Build keynote demo failure aside, AR/VR pushes the boundary of human-computer interactions and enables new immersive experiences.
Hololens 2 Developer Edition
Hololens 2 is amazingly cool and addresses a lot of the shortcomings of the Generation 1 Hololens. While MR/VR/AR offer opportunities for developers, a stumbling block has been the high barrier to entry, arguably the cost factor of Hololens. Hololens 2 Developer Edition looks to offer a solution - thus making it easier for developers to jump into building Mixed Reality apps and experiences for Hololens 2. The development edition includes a HoloLens 2 device, Azure credits, Unity Pro trials and other tools - all for $99 per month.
Unreal Engine is the uber popular gaming engine allowing for ambitious artistic visions to be brought to life, thanks to a full product suite of creativity tools. Unreal Engine support for streaming and native platform integration will be available for HoloLens 2 - this is big news for developers aiming to bring amazing Mixed Reality experiences on the Hololens 2.
Windows for Developers
While the modern Microsoft is all about open source and cross-platform parity, the desire remains for Windows OS to be home for developers. As the push for unified Windows apps evolve, there is increasing parity between Win32 and UWP stacks, as well as modern tools providing developer flexibility.
After what feels like eternity, the terminal in Windows is getting some love back. Windows Terminal promises a new terminal experience for CLI developers on Windows. As expected from a modern terminal application, Windows Terminal will sport support for GPU accelerated text rendering, multiple tabs and the all-important emoji support. Windows Terminal is slated to arrive sometime in June.
React Native for Windows
Using React to build web apps or React Native to target mobile form factors? There is good news if developers want to target the Windows App Store. The same component model architecture and coding experience/artifacts can now be reused to make native apps for Windows - thanks to React Native for Windows. No longer a PWA shell, React Native can be used to build performance-tuned native Windows apps.
Build 2019 was a milestone event allowing Microsoft to share its tech vision with developers. While Cloud and AI dominated the overall tech landscape, practical developer tooling enhancements and updates to existing frameworks keep inviting developers to the Microsoft technology stack.
As always, we at Progress are here to clear roadblocks for developers to be successful. With Telerik and Kendo UI, we’ll continue to provide rich UI controls and frameworks to light up your Web/Mobile/Desktop apps. Hot off the press is Telerik UI for Blazor - Blazor web components written from ground up for server-side or client-side use. And we support Telerik UI for WinForms/WPF on .NET Core 3 already. With an eye towards the future, close partnership with Microsoft and heavy investments to make top notch developer tooling, needless to say - we’re here for you, today and tomorrow.