That may finally be changing soon. Microsoft has introduced an experimental, open-source web UI framework that it’s calling Blazor. The Blazor project seeks to enable .NET developers to deliver C#-based single-page web applications that run on the client and—crucially—don’t take forever to load.
To understand how all of this is supposed to work, some definitions are in order.
The name “Blazor” comes from a combination of “browser” and “Razor.”
Microsoft’s Blazor project brings together the .NET ecosystem—in particular, its popular C# and F# languages—with Razor and WebAssembly to enable quick-loading, fully featured single-page applications that run identically in any browser. This affords a number of advantages for developers:
From a business standpoint, there are potential resource efficiencies to be gained here. .NET developers, which are numerous, will now be able to use their existing skill sets and tools to develop web applications, obviating the need for separate, and often higher-priced, web application specialists. This also decreases long-term application maintenance costs, because any .NET developer should be able to come in and make updates to the code.
One thing that Microsoft has been careful to stress is that Blazor is not intended to be a cross-platform development tool. Code for existing .NET desktop applications or Xamarin-based mobile apps can’t simply be plopped into Blazor and magically become web apps. Although some code reuse might be possible, Blazor’s strength will lie in its ability to build native web applications. And such applications will have, for now at least, separate code bases from their desktop and mobile counterparts.
The other limitation is that as of this writing, Blazor is not yet an official product: it’s still experimental, and Microsoft is asking developers to poke around at it and provide feedback. Much of the anticipated functionality is not yet available, and there are no installers and little documentation or support. It will be a while before it becomes something that any .NET developer can pick up and run with. But once it gets to that point, it promises to be an exciting addition to the .NET ecosystem, filling a gap that’s long been an issue for developers and businesses alike.