Blazor – so far so good!

During my career I met different technology stacks and I poke them either as tester (either manual or test automation engineer) or just delivered software (basically didn’t give a damn what technology it is) as manager with the teams I worked with. The list includes php, java .Net and the mixed world of Big Data where everything is there in various quality. During the years I realised that .Net is the stack which gives me the most comparative advantage in my project and happiness in development.

The client side was always a pain point. HTML and CSS… meh… Javascript, what a huge pile of shit! As a consequence, I always avoided building the UI part of my app or when I did I gave up after a while because I just hate the fact I need to touch javascript/Typescript.

Angular 1.x eased the pain a little bit. Angular 2.x made Typescript default and we were close to what strongly typed languages can give you. But, still, webpack, linters, treeshake, npm hell! and other black magic… not to mention that the landscape changes in every 9-12 months or faster. It is an innovation hot spot and it is natural. But, still a clusterfuck.

Microsoft introduced Blazor in 2018. The promise is that you can use C# at both client and server side. Since .NetCore 3.0 is out I have been working with Blazor Server hosting model. The experience is great! C# is everywhere. I can debug easily my app using Rider (it still lacks proper support for Rider) and no struggle with contracts between JS app and server side. You just can share your domain objects and happiness.

Blazor still lacks features are default in Angular, but guys at Microsoft working hard to make Blazor a very compelling option to anyone.