At the 2019 edition of .NET Conf, streamed online earlier this week, Microsoft announced several new features for the .NET ecosystem. .NET Core, ASP.NET, and EF Core 3.0 were released, together with C# 8.0 and F# 4.7. The new releases have a considerable impact on how Windows Desktop, Web, and Mobile applications are developed. New features and tools for Visual Studio (VS) 2019 were also showcased, with emphasis on a new visual modeling tool for machine learning called Model Builder.
The conference started with an overview of the new features being released. During the opening keynote, Scott Hunter, director of program management for the .NET team at Microsoft, talked about the growing adoption rate of .NET Core. He stressed how the .NET Core development is aligned with the community, pointing out the number of pull requests on .NET Core repositories since the platform and related libraries was open-sourced (more than 100 thousand). This introduction set the context for the announcement of the new features and tools, all revolving around how different applications can be built in different scenarios. He then moved to an interactive, cumulative hands-on session covering the main topics discussed in the next sessions.
Each of the topics covered in the keynote was presented by a different speaker, all chaired by Scott Hunter. The hands-on session started with the creation of a weather forecasting microservice, showing some of the new features of C# 8.0 (async streams, nullable reference types, and code patterns), .NET Core 3.0 (the new JSON APIs), and Visual Studio 2019 (new gRPC service references). The following topic was focused solely on the new C# async streams, showing how to work with async loops and endpoints.
Next came the application topics, showing how the microservice created could be consumed in different manners. It started with the creation of a Windows Desktop application using .NET Core Windows Forms. The purpose of this presentation was to show how existing desktop applications could be ported to .NET Core 3.0 and to demonstrate one of the most important functionalities of this release: the ability to deploy desktop applications as self-contained executable files. The Xamarin demo followed the same format, showing how the mobile version of the application could be rapidly tested using the new hot reload/restart functionalities (which allow the developer to change the application code while it is still running).
Still during the opening keynote, the new ASP.NET functionalities were shown with the creation of a Blazor application. The highlight of this topic was the new Blazor WebAssembly template available in the newest version of Visual Studio 2019. A demonstration of how to visually create and embed machine learning models into the application with ML.NET followed, and the hands-on session was finalized with a show-and-tell involving the IoT devices (since the latest release of .NET Core includes support for Linux ARM64).
The three-day the conference was divided in: sessions broadcast from Microsoft studios (first and second days) and community sessions in local time zones around the world (third day), from 9am to 5pm. All sessions were technical, revolving around the main points presented during the hands-on demonstration. In particular, the sessions following the opening keynote (first day) were more complete, detailed versions of the demonstration topics.
There were other sessions, however, showcasing tools and features announced earlier this year on Microsoft’s development blog and that are not related to the Core 3.0 release, such as integrating Apache Spark with .NET and building interactive documentation with Try.NET. Other sessions also cover: .NET Standard, new features in F#, using GraphQL in .NET Core, mobile and game development in .NET, DevOps tools, and performance and security topics.
The key takeaway of the conference was how the .NET development ecosystem is being consolidated around .NET Core. This should come as no surprise since earlier this year Microsoft announced that .NET Core is the future of .NET. If the schedule stays unchanged, .NET 5.0 release is expected in November 2020. Microsoft is announcing .NET 5 as a unifying platform for desktop, Web, cloud, mobile, gaming, IoT, and AI applications, also featuring Java, Objective-C, and Swift interoperability on multiple operating systems.
While the vast majority of the demonstrations was done using VS 2019 for Windows, it is important to notice that they are available on multiple operating systems (depending on the tool, library, or platform). Using VS 2019 for Windows is to be expected considering that support for developing Windows Desktop applications was one of the most important features of .NET Core 3.0. However, .NET Core 3.0 is supported on Windows 7+, Windows Server 2012 R2 SP1+, macOS 10.13+, and different Linux distributions. ML.NET also comes with command-line tools for multiple operating systems, and VS Code supports Blazor development. Recordings of all the conference sessions are available in a curated playlist on YouTube.
Credit: Google News