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.