The new kid in the domain of client-side UI frameworks - Make Helsinki

The new kid in the domain of client-side UI frameworks

by: Roy Luokkala
  •   Technology •  8.5.2020   •  3 minute read

We Full Stack developers usually work with JavaScript frameworks such as Angular, React or Vue when creating single-page applications or SPAs in short. Single-page application is a web application where a single page is fetched from the server and then the rest of the views are rendered on the client side and not on the server-side like with more traditional web applications. If you are into .NET and C#, then you might have heard about Microsoft’s new thing called Blazor WebAssembly. 

So far JavaScript has been the thing for SPA development, but things are changing, because now you can also do C# on the browser side. Moreover it means you can do C# full stack if you wish. Microsoft announced Blazor WebAssembly Release Candidate on 30th of April 2020 and the actual production-ready release is promised this month. It ships with ASP.NET Core 3.1, which by the way, also includes the newest and greatest C# 8.0 goodies.

So what is Blazor?

Blazor is a new open-source framework that gives you the ability to create different types of applications (web, desktop and mobile) with one programming model. You create different types of apps by authoring the components to target a particular renderer type and the programming model is always the same. The Blazer WebAssembly uses open web standards and works in all modern web browsers. It compiles to static files and there is no dependency to .NET runtime on the server side. What gets downloaded to your browser are the application DLLs and dependencies and small .NET runtime combined with WebAssembly. It is also possible to access the browser functionality (e.g Local Storage API) via the JavaScript interoperability. 

The benefits

In real life busy developers have so many things to do but only so little time 🙂 So, what I really love here is the concept of “learn once and apply anywhere”. This means that developers can focus more on developing the actual application features which, at the end of the day, are the things that bring value to the customer. One promise of Blazor WebAssembly is code sharing between the client and the server. Things that easily get duplicated e.g in the JavaScript world are business logic and models. Then again what about other things like community support and package management systems? Well, yes there is already an active community in place. About package management systems, they are tools that are used for managing the software packages/libraries that your application depends on. In addition to NuGet (.NET’s package management system), you can also leverage the npm packages via the JavaScript interoperability.

While still in it’s early stages, I can start to see the productivity benefits. When the production-ready release is announced, I will definitely give it a try and build something with it to gain some hands-on experience. I think this is something to keep an eye on!

If you want to talk more about opportunities with modern web application developmentfeel free to contact us.

 

Leave a Reply

Your email address will not be published. Required fields are marked *