Blog

FIS-SST

One .NET to rule them all

Adam Siwek

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.

(Source: https://twitter.com/jamesmontemagno)

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?

It looks like another Microsoft technology is a competitor of MAUI. Blazor is Microsoft Web development technology, an evolution of Razor pages. It is more like JavaScript (it can change contents of the web page without reloading it) and it uses Web Assembly or SignalR to make it happen. For desktop, Blazor have couple of ways, there are Progressive Web Apps, where You can install web app directly from browser to Windows and MacOS. You can use Electron – MS Teams and VS Code are using Electron. Blazor desktop apps can be used offline, can communicate with USB peripherals etc. And for mobile there is (Experimental) Mobile Blazor Bindings. Where You can use HTML mixed with native controls.

(Source : https://devblogs.microsoft.com/aspnet/unified-ui-mobile-blazor-bindings-preview-5/)


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.



Contact form

Patrycja Pałus

Office Administrative Assistant

Please feel free to contact me by phone or email

Newsletter FIS-SST

To continue downloading please subscribe to our newsletter 

Newsletter FIS-SST

Aby kontynuować ściąganie prosimy zapisz się do naszego newsletter`a