What’s Coming with .NET Core 3.0?

Announced back in May 2018, the .NET Core 3.0 is finally coming in the second half of 2019 and the developers are already excited about the new features.

The long-awaited .NET Core 3.0 will bring support for Windows Desktop Applications and is already available in the form of preview in Visual Studio 2019.

So what’s all the hype about and what exact features will the new version of the platform bring? Let’s have a closer look.


.NET Core 3.0 in a nutshell

The .NET Core 3.0 is an open-source platform and the next big version of the .NET Core platform. According to Scott Hunter, the Director of Program Management at Microsoft, the .NET Core 3.0 will include the following three themes:

  1. Desktop workloads and UI Interoperability,
  2. Support for IoT scenarios and machine learning,
  3. Web app development productivity.

As well, .NET Core 3.0 will support the desktop app development with Windows Forms, Windows Presentation Foundation (WPF), and Entity Framework 6. As Scott said, the previous .NET Core versions mainly focused on Web and cloud app types. With 3.0 version, developers will be able to create desktop apps with Windows Forms and WPF and the IoT apps for Raspberry Pis and small devices.

.NET Core 3.0 will also have full support for ML.NET, which is a machine-learning framework for .NET developers.

As you see, there is a lot to get hyped about. The biggest benefits that .NET Core 3.0 will bring to the .NET app development are:

  • Support for .NET Core CLI tools and SDK-style projects,
  • New features of C#,
  • Client-side web development (with Razor and C#),
  • Access to full API of Windows 10,
  • Hosting MP XAML controls in WinForms and WPF,
  • Hosting media controls and UWP browser.

Now let’s have a closer look at the .NET Core 3.0 features.

Flexible deployment model

Developers will enjoy the flexible deployment process that comes with .NET Core 3.0.

For instance, when a new Core version is out, a developer can immediately update the same on one machine at a time and it will not affect the other application. This is possible because the latest versions will be uploaded in the new directories and will have zero impact on the existing applications.

Also, .NET Core 3.0 will have new app bundling tools that will allow developers to build apps that request even more isolation.

Easy Project File updating

.NET Core 3.0 will adopt the SDK-style projects with Package Reference, which will allow referencing the entire component area at once.

The improvements that .NET Core 3.0 brings to SDK-style projects are:

  • Cleaner project files,
  • Project file editing in VS,
  • Multi-targeting support,
  • Easier response to source control.

So if a developer plans to adopt .NET Core 3.0, it is a must to switch to SDK-style projects.

Server-side Blazor

Microsoft plans to integrate the server-side Blazor components into the ASP.NET Core and run it with .NET Core.

This feature will allow the same code to run on different devices with no need for the code changes and will increase the app compatibility.

The top picks of C# 8

During his speech. Hunter named some of the .NET Core 3.0 features via the C# 8.0 that he is most excited about:

  • Nullable reference types: will be enabled in C# 8.0 and will help do the right null checks,
  • Async streams: will be able to return a collection, meaning, more than 1 value,
  • Recursive patterns and switch expressions.

Conclusion

Microsoft seems to be taking its new versions seriously and continues to deliver excellent development tools for creating better and more efficient apps.

The .NET Core 3.0 is packed with cool features that developers can get a feel for. And because the modern technological world is dominated by technologies like IoT and ML, it’s nice to see that Microsoft is adapting to global trends and expanding the functionality of its .NET Core platform to keep up with the requirements of the development industry.