It feels like it was not too long ago when .NET Core 1.0 was released. Well, today Microsoft just announced the latest .NET Core 3.0! There have been many improvements made to .NET Core 3.0 that make it much more mature. If you haven’t made the jump from .NET Framework to .NET Core, yet, then I definitely recommend you take the leap and starting coding with .NET Core 3.0. It support all the platforms developers use; like Windows, Linux, and macOS. Let’s take a look at some of the great features of .NET Core 3.0, as well as a glimpse into the future of .NET 5 (the next version coming).
.NET Core 3.0 Released!
This latest release of .NET Core 3.0 offers some great improvements to .NET Core. In addition to great C# 8 features (you can read about some of the top C# 8 features here), it includes many other improvements, in addition to adding Windows Forms (aka WinForms) and WPF support! There are also many performance improvements, new JSON APIs, support for ARM64, and more!
As mentioned by Microsoft in their announcement blog and .NET Conf 2019 stream, here’s a list of some of the top features of .NET Core 3.0 that all developers need to know about:
- .NET Core 3.0 is GA and Production-Ready – It’s been tested for months at dot.net and Bing.com, in addition to many other Microsoft teams readying production releases using .NET Core 3.0.
- .NET Core apps launched with executable (.EXE) by default – In the past you needed to use “dotnet assembly.dll”. Apps can now be launched with an app-specific executable.
- Greatly Improved Performance – There have been many performance improvements made to this .NET Core 3.0 release.
- C# 8 Support – There are many new, great features added to the new C# 8 language. You can read more about these in the “Top 3 Features in C# 8 that will change the way you write code” article by Andrea Angella.
- Windows Forms and WPF Support – With .NET Core 3.0, building Desktop applications are now supported.
- .NET Standard 2.1 – .NET Standard includes types since .NET Core 2.1, and increases the set of types that code can use with .NET Core and Xamarin.
- F# 4.7 Support – The latest 4.7 version of F# language is supported.
- Garbage collectors uses less memory – Improvements in the Garbage Collector mean that it now uses a lot less memory.
- Raspberry Pi and ARM Chip Support – These environments are now supported to enable IoT development, including using the Visual Studio debugger. Apps can now connect to sensors, output to a display, and use all the new GPIO APIs.
The support for .NET Core 3.0 is being rolled out to all the different areas where you would use it. While you can use any IDE of choice, the Visual Studio 2019 16.3 and Visual Studio for Mac 8.3 versions are required updates for full Visual Studio support of .NET Core 3.0. Visual Studio Code users can use the latest version of the C# extension for VSCode.
Microsoft Azure and cloud support is being worked on for .NET Core 3.0 as well. The Azure App Service team is currently ongoing to deploy .NET Core 3.0 support across all of Microsoft Azure App Service. The support and deployment of .NET Core 3.0 for Azure DevOps will be coming soon as well.
.NET Core 3.0 Cross-Platform Support
.NET Core 3.0 supports Windows, Linux, and macOS operating systems. As announced by Microsoft, here’s a full list of supported operating systems that can be used to run .NET Core 3.0 apps:
- Alpine 3.9+
- Debian 9+
- openSUSE 42.4+
- Fedora 26+
- Ubuntu 16.04+
- Red Hat Enterprise Linux (RHEL) 6+
- SLES 12+
- macOS 10.13+
- Windows Client (desktop) 7, 8.1, 10 (1607+)
- Windows Server 2012 R2 SP1 and newer
There is an exception for the Windows Forms (WinForms) and WPF support. While .NET Core 3.0 is cross-platform, the support for Windows Forms and WPF only support Windows operating systems.
.NET 5 is vNext (after .NET Core 3.0 and .NET Framework 4.8)
In addition to the latest .NET Core 3.0 being released with great features, it worth mentioning that the next released (aka vNext) will be .NET 5.0. While there will be a .NET Core 3.1 update release (slated for November 2019), the next full version update to .NET Core will be .NET 5.0. As you can see “Core” will be removed from the name because .NET 5 will produce a single runtime and framework that can be used anywhere!
.NET 5.0 will take the capabilities of .NET Core, .NET Framework, Xamarin, and Mono and combine them into a single code-based that developers can use to build their apps. This release will merge the developer experience to be the same regardless which type of app is being built. This is being done by adding support to thousands of .NET Framework APIs to the platform to close the gap in feature differences between .NET Core and .NET Framework; including Windows Forms, WPF, and Entity Framework 6 support.
.NET 5 will take the capabilities of .NET Core, .NET Framework, Xamarin, and Mono and combine them into a single code-based that developers can use to build their apps.
The release of .NET 5.0 is targeted for November 2020, with the first preview being made available in the first half of 2020. In Microsoft event calendar terms, the preview will likely be available near MS Build 2020 conference, and the GA near MS Ignite 2020 conference.
This is overall a really exciting time for .NET (#dotNet)! .NET Core 3.0 is a really amazing release, and .NET 5.0 will be equally, if not more, amazing! If you’re interested in a roadmap to .NET, it’s hard to say the specific features of each version, but here’s a schedule roadmap Microsoft has released publicly that maps our .NET release times all the way to .NET 8.0!