Blazor – the next big thing in ASP.NET

We’ve been able to write Single Page Applications (SPAs) with ASP.NET for a number of years now, utilising JavaScript frameworks such as Angular and React (and a whole host of others) for the front-end, and Web API for the back-end.

A major drawback of this approach, particularly for full-stack developers with little experience of JavaScript (other than maybe jQuery), is the significant learning-curve to using the JavaScript frameworks effectively. You effectively have to learn a whole new programming language, you’re not an expert so you can’t get the most out of these powerful frameworks, and you have to abandon a number of familiar concepts such as type safety (unless you’re using something like TypeScript).

The ASP.NET team recently announced a new experimental project called Blazor, which is a web UI framework based on C#, Razor and HTML that runs in the browser via WebAssembly. If you haven’t heard of WebAssembly it’s worth checking out – it’s basically a fundamentally new way to write web apps, and run compiled code in any browser at native speeds. Check out David Bryant’s great blog post on the topic.

So far, so what? What does this mean for full-stack web developers? Steve Sanderson has a great demonstration and explanation on this video from NDC Oslo last year.

Blazor allows .NET developers to write SPAs without a single line of JavaScript!

That is revolutionary if you’ve always wanted to leverage the benefits of SPAs, but didn’t want to learn a JavaScript framework. Browser compatibility is improving all the time, and because of the way WebAssembly has been developed, it will be completely backward-compatible with, for example, Internet Explorer.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this:
search previous next tag category expand menu location phone mail time cart zoom edit close