During the Microsoft Build 2019, the Microsoft Team announced that .NET 5 is on its way out, and it would be arriving in 2020. This will be the next huge release after the .NET Framework latest version 4.8.
.NET Framework is 17 years old and there are millions of apps built on it, by using every chunk of the functionality that Microsoft has ever incorporated. The weight of all of these apps makes .NET Framework incredibly heavy. Hence, the scope to innovate the .NET Framework is diminishing. Further, .NET Core has turned up a few years ago. At the time, it appeared as a younger brother of the .NET framework to attract Linux and Mac users. The recent announcement about the arrival of .NET Core 3 promises to bridge the gap with the latest version of .NET Framework, empowering WPF, Windows Form and Entity Framework 6.
Alongside these two versions of .NET - .NET Framework and .NET Core, Microsoft made a huge announcement about the release of .NET 5 – the future of .NET. The announcement added that there would be .NET 5 that is Opensource and Cross-platform, which will replace .NET Framework, .NET Core and Xamarin with a single unified platform called .NET 5 Framework.
As shown above, .NET 5 will be powered with the best features of the .Net Framework, .NET Core, Mono, and Xamarin to provide APIs, libraries, and run-time to create apps for Web, Windows, Mobile & IoT devices. The main goal of .NET 5 is to empower unified .NET Client Application projects to create deliverables for various platforms including Windows, UNIX, Linux, Legacy Windows, iOS, Driod, HTML5, and Macintosh.
With the announcement of .NET 5, we realized that Microsoft is skipping .NET 4 to avoid mix-up with the .NET Framework versions. Then the .NET 5 will be accompanied by the .NET versions like .NET 6.0, .NET 7.0 & .NET 8.0. This will not happen overnight. Microsoft .NET team has announced the timeline for these versions as shown below:
.NET 5 Moves ahead with .NET Core
.NET 5 will offer everything that you would expect from the .NET core while making it suitable for Mobile and IoT platform development. With these new updates, developers will no longer need to choose between .NET Core, .NET Framework and Mono, based on which platform they’re developing their applications.
As the first step in that direction, the .NET 5 ensures to incorporate the best of .NET core functionalities:
Cross-platform implementation with any device
Supports all key platform features for .NET core, Xamarin, .NET Framework
Open Source & Community-Oriented
Fast, Scalable, and high performance
Support with future updates to Visual Studio Code, Visual Studio 2019, Command Line Interface and Visual Studio for Mac.
Support for platform-specific features like Windows Forms, & WPF on Windows
Smarter Deployment & packages
Small Project Files
Besides these features, .NET 5 promises the three new major supports for developers:
These updates would ensure a single unified .NET framework and runtime for everything, including Mac, Web, Mobile, IoT, Gaming, Data Science, Machine Learning and Cloud.
Other Vital Features to Highlight
As Microsoft resolves the kinks on the latest version of .NET, the .NET 5 will feature new .NET APIs, desktop development, runtime capabilities, language features and many more.
1. Desktop Development with .NET 5
Microsoft is fetching Windows Desktop Packs to support desktop apps, which works only on Windows. .NET 5 will come up with all key desktop development functionalities and libraries. Xamarin, WPF, Windows Forms and UWP (Universal Windows Platform) are the four key desktop platforms. The porting of Windows desktop app into .NET doesn’t change the .NET Core architecture, but adds some additional benefits including Core Runtime & API Performance enhancement, and deployment flexibility. .Net 5 also supports some major sub-framework for desktop development like Entity Framework, GDI+, LINQ, and ADO.Net.
2. Mobile Development with .NET
.NET 5 will continue to build cross-platform mobile apps for Android, iOS, tvOS, macOS, and watchOS platforms using Xamarin. Xamarin is supported by the Mono runtime and it offers a set of programming languages, developers’ tools and libraries. Xamarin uses XAML as the major UI programming language and C# as the backend language.
3. Cloud Development with .NET 5
Azure app development will be one among the major functionalities of .NET 5. With the release of the latest version of .NET, developers will continue to develop software with Azure. Azure Cloud development encompasses a mix of tools and frameworks, including Web API, ASP.Net, Serverless computing, Azure databases, Docker containers, microservices, DevOps and more.
4. Game Development with .NET 5
.NET 5 and Visual Studio 2019 will support Unity, a vital part of .Net gaming to develop games for mobile, Xbox and other gaming platforms.
5. Runtime and Language with .NET 5
.NET 5 will provide the developers with the choice of runtimes between CoreCLR and Mono. CoreCLR is the .Net core runtime used for Windows desktop, IOT, machine learning, and Cloud applications. Mono is a well-known Cross-platform .NET implementation, an open source alternative to .NET frameworks. Both Mono and CoreCLR include many similarities and some valuable unique capabilities. Additionally, .NET 5 will come up with AoT(Ahead-of-Time) and JIT (Just-in-Time) compilation models. JIT has proven its enhanced performance for server/desktop workloads as well as the development environment. On the other hand, AoT possesses a small footprint, fast startup, and lower memory usage.
All these updates and features will make the .NET 5 the biggest version Microsoft has ever released. There are still some mysteries concerning how things will change with .NET 5 for developers. However, Microsoft receives feedback on the various updates it proposes, and we hope they will pave the best way ahead.