Folks, I read all the Blazor documentation, browsed the APIs and wrote some small test apps. As a result … I am filled with hope. If the development continues and the "big names" continue to back it, then I think it will be a winner.
The overall design looks sound and sensible. You can write and nest components, there's basic binding, events, layouts/templates, DI with services, and it's all relatively lightweight and easy to fully learn quickly. You can use base classes to separate code from markup (which worried me last week). I'm not a big fan of Razor syntax, but I can live with it. I was afraid Blazor would be like Angular or full ASP.NET MVC, which are man-made artificial mountains that baffle mortal minds. After I my first code started to work, it suddenly dawned on me what was so good about this … I'm writing .NET C# on the browser-side and it's working, and there's no JavaScript in sight. It turns out that JS is booting the process and gluing some stuff together, but mercifully it's out of sight and you don't have to interop with JS for normal things. So if Blazor continues to mature, we will have a familiar and productive way of writing browser-hosted apps. Yay! As many pundits in videos and articles have been saying, JavaScript won't die, but it should fade into the background and we won't be beholden to it any more. However, the weakest link in all of this is the browser. We must rely upon the browser for rendering and we are limited to its controls, styling and layout, which I consider primitive, unstable and completely unsuitable for hosting production apps. It also means that for stupid historical reasons we are stuck with JS in the mix to drive the browser. In some real Blazor apps I hope to write is the need for drawing arbitrary lines and shapes in a visual tree on a "canvas" (like in WPF and Silverlight), and I have no idea yet if or how this is possible in Blazor. I could start writing some real apps now, but I need the canvas drawing and a "tree" control. I hope people will soon start to publish 3rd party components to fil the gaps and boost productivity. I'm pleased to see other languages and platforms are jumping on the Wasm bandwagon, so I think it's looking hopeful overall for Blazor. *Greg K* P.S. I tried to use the Azure Storage package to read some blobs from an app, but it failed due to a clash with a custom http handler in Blazor. The Blazor team created an official issue for this, so they're responsive and helpful.