Folks, has anyone else in here given Blazor a good bash and got comments?
I've run some sanity tests on 0.7 and it's looking pretty good. You can
reference packages and projects, there's basic binding (which I hope they
improve), you can break things up into "components" and nest them, separate
code-behind if you want, register and inject services, define routing, make
async web calls, deploy to Azure web apps, etc. All this stuff I mentioned
is in the docs, but I had to try it myself to see if it really works. The
only thing I haven't tried yet is rendering a large complex page to see how
it performs and responds to DOM changes.

So finally it looks like there's a real chance in the .NET ecosystem that
the crazy zoo of JS frameworks to make SPAs will be displaced by a familiar
and respected languages and frameworks. Great, but suddenly I was slapped
hard by a shocking realisation … we're still stuck using the web browser
and HTML (and some JS glue) for rendering the UI.

The web browser cannot render complex business app UIs. Where are the rich
controls and layout features we are used to on the desktop, or in
Silverlight, or Flash or Java Applets for that matter? HTML was created to
render simple text and pictures and now 27 years later it's completely
effing stupid that we're still trying to create apps with it. We're
changing how those apps are written, but we're still stuck with the damn
browser and HTML for rendering.

I have an example … a few weeks ago I wondered by a web page was taking 40s
to load. It turned out I was loading a tree (a fake one, as there is no
tree control) with 4000 nodes, each one in a div and 3880 of them were
hidden. So the page looked small and tidy, but there were thousands of
hidden divs. I spent hours of suffering inventing a click-demand-load
technique. There is no virtualisation in HTML, which is taken for granted
in real UI frameworks.

There endeth the good news and the bad news.

*Greg K*

Reply via email to