Blazoring ahead with Blazor

by DJ 05 Jul 2023

My use of Blazor started as a casual thing, but has turned into a full-blown romance. It just looked attractive at first, but would I be comfortable talking with it? Now I cannot live without it!

I have been coding daily with client-side Blazor for a while now. Rebuilding the front end of my most complex website, which was pure Asp.Net MVC Razor with jQuery plugins. That site was already functional, but not "client-side-slick". It was also layered into services, making it easy to port entire swathes of backend functionality across with little or no changes required.

It is actually a pleasure to build reusable UI components in Blazor and actually reuse them! I am currently building the most complex UI I have ever designed. An interface for scanning in barcodes, or QR coded labels, or plain text, finding potential product matches and building a visual list of things to add or move about the database.

I'm already finding Blazor magnitudes of order faster to develop with than say Angular or React. Quite frankly I am not sure I even have the skills to create this particular UI in those frameworks, but I have already created 3 versions of my new scanning interface in a couple of days. My prior experience with WPF and Silverlight probably made my transition to Blazor easier than I expected (as property binding is a familiar pattern).

Things I have created so far include:

  • Clipboard service to manage all copy, move/paste logic
    • Completely event driven
    • Uses local storage to persist selections
  • Clipboard toolbar to visualise and activate clipboard operations (includes a debug="true" mode to display raw info separately in side panel)
  • Generic modal popup component used for
    • Edit content pages
    • Add content pages
    • Wizard pages
    • Photo-zoom display with editing tools
  • Generic toolbars component
  • Generic popup menu components
  • Toast message display (very handy to use for debug info during development)

After getting my head around a few quirks, with the way you must interops with Javascript for a few trivial operations, I would now happily recommend Blazor over any other UI framework, including my favourite Asp.Net MVC Razor.

I expect this will be a long and productive relationship.