Is Blazor ready for public-facing websites?
By: Jase Banico
Tags: Dotnet Core, Aspnetcore, Blazor

BlazorWorld’s video module

Is Blazor, Microsoft’s latest front-end UI framework that runs on WebAssembly, ready for public-facing websites? I have wondered about this ever since MS Build this year, so I created this Blazor content/community website, BlazorWorld.com, to answer that question.

BlazorWorld is the culmination of an idea I have been working on since AngularJS, a modular CMS that provides a platform for building various content modules on the front-end (such as articles, blogs, forums, and wikis), but having a common content infrastructure back end. I have always been interested in the various web content/community “patterns” and how they’ve been implemented (forums with phpBB and Reddit, CMS frameworks with Drupal, blogs with Blogger, social networks with Friendster, wikis with MediaWiki, etc.), and wanted to build my own open source software that brings these various patterns together in a single platform. I also wanted to build it as a framework, with a modular architecture that makes it easy to add new features for, to allow it to be used in independent projects that need social content features out-of-the-box.

I decided to finally do it when SPAs started to become popular, and have been evolving this idea, as a side project, from AngularJS (or 1.0) to 8.2, migrating from one version to the next (including that painful transition to v2), working primarily with the forum module in a few demo community sites.

I first heard of Blazor in a .NET Rocks episode back in 2017. I thought it was very interesting, but didn’t consider developing for it (as it seemed that WebAssembly support in browsers still had a long way to go), until Microsoft Build 2020, when Steve Sanderson’s presentation made me realize that it was getting ready for prime time. I then registered the blazorworld.com domain name, with the intention of creating a content (and hopefully, a community) website that will be the first implementation of the CMS. For the next 6 months, I migrated my idea from Angular to Blazor, starting with the forum module, and then adding profiles, articles, blogs, and videos. Being a .Net developer, I found the Blazor development experience with C# much smoother than with Angular and Javascript (though Typescript helped). I am currently working on the messages module that uses SignalR. You can follow the development of the BlazorWorld software on GitHub.

For BlazorWorld.com, I want it to be much more than a showcase for the software. I want it to be an active Blazor content/community site that runs on Blazor. I intend to keep it updated not just with content on the BlazorWorld software, but also of content on Blazor in general. I also would like to invite other contributors to provide content to the site, as the world of Blazor is going to be (or already is!) too big to be covered by just one person.

BlazorWorld’s forums module

The current version of the software is an MVP. It, and the site, will evolve as the framework itself and the Blazor development community evolves. As of writing, .Net 5.0 is in RC2, and is a few weeks away from go-live release. I’m excited to see how the ecosystem will evolve as more and more developers will bring their ideas to the table.