Cross platform development & Microsoft .Net
Microsoft .Net framework has been a great choice for web & application development for the last 20 years but the limitation to run only on the Windows platform was one of the reasons it hasn't been a popular choice to open source community. The modern-day development community needs a robust, scalable, interoperable, cross-platform, developmental framework without the need for proprietary licenses and being locked into a certain operating system and architecture. With the release of .Net core Microsoft has come of its shell and given open source community to use the benefits of the .Net framework. The success of .Net core has led Microsoft to re-align its product to market and continue to .Net core future of .Net. However, Microsoft continued to develop .Net Framework along with .Net core was a big question of .Net future plans. Last year Microsoft announced to provide a unified platform for all .Net development and making it clear to continue open-source development as its topmost priority.
.Net 5 a unified platform
.Net is going to be the future of all Microsoft .Net platform. The preview is available is set to release in Nov 2020 for general applications. .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, Android, HTML5, and Macintosh.
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.
The road map:
Features & Improvements in .Net 5
Microsoft aims to achieve some great improvements from this release :
We see a bright future ahead in which you can use the same .NET APIs and languages to target a broad range of application types, operating systems, and chip architectures. It will be easy to make changes to your build configuration to build your applications differently, in Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, or at the command line. ---Microsoft
Runtime Experiences Microsoft has been using Mono as a cross-platform implementation to .Net and CoreCLR as a runtime for .Net core. It has been brought together and the developers will have options to choose between based on the environment they are coding.
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
Performance The .Net 5 will have an exciting version for the Just-In-Time (JIT) compiler, with many improvements.JITs are well suited for long-running cloud and client scenarios. They are able to generate code that targets a specific machine configuration, including specific CPU instructions. .Net ships AOT compiler which enables .NET code to be built into a single native code executable that can run on a machine, much like C++ code. AOT-compiled apps can run efficiently in small places and trades throughput for a startup if needed. AOT(Ahead-Of-Time) has been used in the Mono framework before, .Net will extend the AOT as a major performance booster with fast startup, and lower memory usage. Apart from JIT and AOT .Net 5 has some major improvements in Garbage collection and Async await (Threading) programming.
Interoperability Support Microsoft is deepening its support for interop with Java, Swift, and Objective-C.
Desktop development
Microsoft already provided WPF and WinForms desktop app development in.NET Core 3.0. In .NET 5.0, Microsoft makes a big leap forward by including Universal Windows Platform (UWP) and Xamarin. So, it will include WPF, WinForms, UWP, and Xamarin in its desktop development SDK.
Mobile development Using Xamarin, .NET 5 will include cross-platform mobile development support for Android OS, iOS, Linux, watchOS, and tvOS.
Cloud app development
Azure app development will also be one of the major functionalities of .NET 5. With the release of the latest .NET, developers will continue to develop software with Azure. Azure Cloud development includes a mix of tools and frameworks, including Web API, ASP.NET, serverless computing, Azure databases, Docker containers, microservices, DevOps, and more.
With a unified platform, Microsoft has been clear about its future strategy to continue being open-source, cross-platform and all in one unified platform. If you are looking to upgrade your .Net framework project to .Net core or want to be prepared for .Net 5, talk to IcodeLabs and get your plans ahead of time.