.NET 5 – what does it mean for developers and users? Part II – tools, environments and updates
In our previous post, we have considered the future of the .NET framework within the context of the upcoming unification of the .NET Core and the .NET Framework in .NET 5. The comparison is obvious – in a sense, Microsoft is aiming for the merging of platforms, that was previously to be accomplished on the Universal Windows Platform. With no success. We have already shown that .NET 5 is an entirely fresh approach – instead of focusing on the end user, Microsoft is directing its attention to the developer community. This time we shall take a look at what .NET 5 means for them.
Release timeline and schedule
First however, we shall focus not on what but when Microsoft will hand it to the developers. Recently, a new version of .NET Core, marked as 3.0, has been released, therefore, one would seem, that there still much time for the unification. Particularly, as Microsoft is planning to release .NET Core 3.1. Well, .NET 5 is supposed to be released in November 2020, and of course we are talking about a stable release. It is then, that we will be able to speak of a significant revolution, on the grounds of .NET, and creating software according to Microsoft’s vision in general.
The release cycle of the unified framework doesn’t seem to be very exciting, however, one shouldn’t wonder – the nature of revolutions is that when they occur subsequently in short periods in time, things tend to get ugly. .NET will be released in a large new version with a next big number, every year. In odd years, a version with a prolonged support period will be released. Microsoft does not exclude the possibility that smaller point releases will appear between 12-month intervals.
What goes where?
What’s important, the number of available tools or programming environments, after the release of .NET 5, will not increase. That doesn’t seem logical or obvious – after the unification the number should decrease. However, the example of the Universal Windows Platform demonstrates that such merging may be an opportunity for more entities to appear than necessary. Chaos appeared within the portfolio of the developer corporations, and subsequent bridges would spring like mushrooms. .NET 5 is different – Microsoft is approaching the matter with an equipment of comprehensive, well-established tools, that met with good reception by programmers.
Visual Studio is one of the most comprehensive and modern integrated programming environments, Microsoft does not shy away from implementing really fresh solutions into VS such as Intellicode suggestion generation advanced mechanisms that greatly increase the speed of working on code. The MacOS version is, in some aspects, developed independently from the Windows version to utilize the Apple computers as much as possible. One should also add the great Visual Studio Code editor, also acknowledged by programmers who work on Linux. Microsoft’s developer tools are cross-platform already.
As we had already mentioned, contrary to the Universal Windows Platform, in .NET 5 Microsoft has prepared environments, within the framework of which, one will be able implement software. On desktops the interfaces will be developed in the recently released WPF and Windows Forms, in browsers we will still use ASP.NET, and in the cloud environment, Azure could be the only choice. Additionally, .NET 5 is an expansion on the remaining mobile operating systems – due to Xamarin, applications will be released both on Android and iOS. The IoT expansion is also expected, due to the ARM architecture support, along with the full compatibility with the ML.NET machine learning open framework.
.NET 5 – what’s new?
To summarize, Microsoft aims at providing the developers with tools, due to which, the code and the project files will be present themselves and behave the same way. Launching environments and the languages’ capabilities will also be identical, and the same APIs will be available. Thanks to .NET 5 software development on Windows, macOS, Linux, Android, iOS, various producers’ SmartTV operating systems, and even on browsers will be conducted similarly, due to the low-level WebAssembly, and in games, due to the Unity engine. No doubt, the developer-first attitude is beneficial for Microsoft.
Although the number of possible operating systems, device platforms, IDE and launching environment combinations is already impressive, .NET 5 will also implement particular functional novelties. We’re talking, i.a. about the Ahead-Of-Time compilation required for the software to be launched on iPhones and iPads. One cannot forget the full interoperability of Java on all platforms, or the support for new programming languages – Objective-C and Swift. And we are just talking about one of the many releases, of the new, unified .NET. November 2020 is already looking hot.