One .NET to rule them all
During years of development the .NET ecosystem grew, and it grew big: .Net Framework, .Net Core, Mono/Xamarin. Every one of them had a specific role and features, some of them overlapping. It got very messy very quick, you could write Windows desktop application in .NET Framework and run it on Linux with Mono, but You couldn’t write cross platform desktop apps with .NET Core (the one that supposed to be cross platform) because there was no one UI library to support Windows, Linux and MacOS etc. Thankfully Microsoft had plan to change the state of things, and in November 2020 they released brand new .NET 5, which started a transition towards one .NET platform for all intents and purposes.
But what does it mean exactly?
Creating one .NET environment brings everything together. It created the possibility to build .NET MAUI. MAUI stands for Multi-platform App UI, and its goal is to build cross platform applications, with native UI, and single codebase. It’s an evolution of Xamarin.forms, completely rewritten. Till this point with Xamarin You could write Android and iOS apps, with shared logic but You had to write platform specific code for each. MAUI goal is to write one code and use it on all platform with near native speeds.
This unification allows for one team of developers to write native mobile and desktop apps for different systems. Which not only ensures consistency in application on different platforms but cuts cost and time to market. Developers can focus on one platform and master it.
But what about Blazor?
Anticipating .NET 6
So it looks like Microsoft in its efforts to combine development for different platforms did so “well” that it created 2 separate technologies to achieve this goal. To be honest both of them look good and promising. I just hope that before official release of .NET 6 which will end transition to one .NET, Microsoft will iron things out so both technologies will either become one universal way to go, or at least that they will have there own benefits and clear advantages in given field. Nonetheless I’m looking forward to .NET 6 and what it will bring.