If you’re a developer of .NET supporting enterprise apps developed in the .NET framework, you should know how the .NET 5 would impact your current enterprise app. Moving forward, there will be only one .NET to target macOS, Windows, Linux, iOS, Android, and more.
Along with the release, there are new .NET APIs, language features, and runtime capabilities. The project aims to boost the framework in several ways, such as:
- Expand the .NET capabilities by taking the best of .NET Framework, .NET Core, Mono, and Xamarin.
- Build a single .NET framework and runtime that could be used everywhere, with developer experiences and runtime behaviors.
- Create a product from a single code-base, in which developers could work and expand on together and enhance overall scenarios.
The look and feel of the code and project files in .NET 5 would be the same, regardless of the type of app being created. You get to access the same API, runtime, and language capabilities with every application.
Everything You love about .NET Core would still exist
- Cross-platform implementation
- Community-oriented and open-source on GitHub
- High performance
- Support to leverage platform-centric capabilities, like WPF on Windows, Windows Forms as well as the native bindings to every native platform from Xamarin
- CLI (Capable command-line interface)
- Small SDK-style project files
- Side by side installation
- VS, Visual Studio Code Integration and VS for Mac
- More runtime experiences choice
- Swift and Objective-C interoperability would be supported on numerous OS
- Java interoperability would be available on all platforms
- Extension of CoreFX to support static .NET compilation, support for more OS and smaller footprints
What you Need to Know about .NET 5
- Two Runtimes: When .NET 5 launches in November, 2020, it will produce a couple of runtimes, namely, CoreCLR and mono. The CoreCLR extends .NET Core 3 to encompass both mono and .NET features. Mono will still be around so developers could opt to target it or the CoreCLR. Developers must work on getting as much of the code to target the .NET Standard 2.0 as possible, and even 2.1 when available for cross-platform flexibility and maximum portability.
- A single framework. CoreFX is the only framework for .NET 5. The framework, as indicated by Microsoft, would run on mono and CoreCLR. CoreCLR, for most developers, would be the target, which replaces .NET, mono, and NET Core. Nonetheless, mono would still be the target runtime and will likely continue to be utilized in gaming, mobile, and other less common operating instances.
3 .NET Core could still be used: CoreCLR is part of the evolution of .NET Core as it adds features from .NET Framework and mono. The aim is for CoreCLR to include the features of mono that support current mobile development. The first iteration of .NET 5 may have CoreCLR to achieve equality with mono, where the only enhancement for developers is that they could use the same runtime as server/desktop developers. It might be that there are CoreCRL benefits over mono
- Target .NET Standard 2.0 The goal for developers is to target .NET Standard 2.0 and 2.1 when available since it’s the common API definition for .NET Framework, .NET Core and mono, at present and into .NET 5. Put simply, if you get code now to .NET Standard 2.0, it would build on NET 5 seamlessly.
For companies coming from .NET Framework, there are opportunities for cross-platform development, reduced memory, performance and deployment footprints, simpler project files, fewer startup times, and better team-based development support.
Life would be simpler without worrying about .NET Framework legacy when mono is an option instead of a requirement for WebAssembly and Xamarin development instances. With each release of .NET Core, Microsoft has boosted performance in various instances and the trend would likely continue. .NET 5 additionally would see CoreCLR embracing some of the mono key technologies that minimize app startup time in some cases, such as games, embedded devices, and iOS.
The most important thing to do now is to start migrating code to the target .NET Standard 2.0. As .NET 5 is the evolution of mono and .NET Core, now is the time to bring these two runtimes, while providing a .NET Framework code roadmap to move forward into the .NET future.
.NET 5 will become simpler while having a more expansive and wider utility and capability. All the new feature capabilities and development would be part of the new .NET 5, including new versions of C#.
There’s a bright future ahead to use NET APIs and languages to target a great range of app types, chip architectures, and operating systems. Making changes to build configuration to create apps differently, in Visual Studio, VS Code, VS for Mac, Azure DevOps, or at the command line would be easy.