Today and Tomorrow of .NET— Microsoft Build 2019 from a .NET Developer Point of View

Introduction

Between the 6th and the 8th of May, was the biggest Microsoft event of the year, Build 2019. The key announcements can be viewed in the Vision Keynote with Microsoft CEO, Satya Nadella as well as the two technical keynotes for Microsoft Azure and Microsoft 365 platform.

NET Core 3.0

At Build 2019 when it relates to .NET Core, it is focused on the main features that are coming with .NET Core 3.0. It brings in big improvements to full stack web development and adds desktop applications, Machine Learning and Big Data. Making .NET Core a platform for developing most application types required in this competitive modern world of software development.

Release Schedule for .NET Core 3.0

When is .NET Core 3.0 going to be released? The release date is set for September 2019 and an LTS version a month later. I expect .NET Core 3.0 will be released before the .NET Conf on the 23rd to 25th of September. You download the newest preview of .NET here.

The release schedule for .NET Core 3.0

ASP.NET Core 3.0

ASP.NET Core 3.0 includes some big additions with gRPC and Worker Service but with this 3.0 release, it has lost compatibility with .NET Framework. Currently, with ASP.NET Core 2.2 you can create ASP.NET Core applications in .NET framework which will affect a small number of users.

Web APIs and Identity

A new templated authentication offering for Single Page Applications (React.js / Redux)using API authorisation. In ASP.NET 3.0 there is support and templates for API authorisation combining ASP.NET Core Identity and IdentityServer for implementing Open ID Connect (more information).

Worker Service

In ASP.NET Core 3.0 there is the introduction of the Worker Service Template. This template is designed for long-running background processes like a windows service or a Linux daemon is for but for the web. The template is still an ASP.NET application but has no razor views or controllers, basically the minimum libraries to run the background task.

gRPC

ASP.NET Core 3.0 is adding support for gRPC, gRPC is Remote Procedure Call (RPC) framework like .NET framework’s WCF but has high performance and is language agnostic. gRPC allows application clients to directly call methods on a server application as if it was calling a method on an object.

C# 8.0

With C# 8.0 currently in Preview 5,I am sure it will be set to release with .NET Core 2.0. At Build 2019 many new C# 8.0 features were showcased including

  • Nullable reference types
  • Async streams
  • Switch expressions
  • Recursive patterns
  • Default implementations.
C# 8.0 Ranges Example.cs

ML.NET 1.0

http://dot.net/ml

.NET support for Apache Spark

For the Big data lovers, .NET has added support for Apache Spark which is a free, open-source, and cross-platform big data analytics framework previously been available in languages like Java, Scala, Python.

Xamarin

Microsoft announced some key improvements reducing download size for the initial installation of Xamarin from 23 GB in Visual Studio 2017 to 7 GB in Visual Studio 2019.

.NET Framework 4.8

With .NET Framework released in April, last month it was only really touched on advertised some small key improvements. This includes:

  • Improved High DPI support multi-monitor.
  • JIT (Just In Time) parity with .NET Core 2.1 Release.

Should I switch to .NET Core 3.0?

If you are currently wondering if you should switch your applications over to .NET Core 3.0 from the .NET framework, Microsoft advised for existing application keeping them in the .NET framework is fine. The .NET framework will be supported in Windows for a long time to come.

Conclusion

There are lots of new and exciting features are coming to the world of .NET no matter what type of application you develop. .NET is evolving and it’s important to keep up with the latest developments and new features so you can choose the right version .NET for your application.


Capgemini Microsoft team

To share best practices, knowledge and experiences of the Capgemini Microsoft team

Logan Talbot

Written by

Logan Talbot, Software Engineer at Capgemini from the United Kingdom. Specialising in software development and architecture in Azure and .NET.

Capgemini Microsoft team

To share best practices, knowledge and experiences of the Capgemini Microsoft team