Blazor: First Look and Impressions
The future of web development or a passing fad?
- Keith Ott
- May 11, 2019
- 5 Minutes
I keep hearing more and more about Web Assembly, and since I’m primarily a .NET developer, I figured it was time to play around with Blazor. I recently went through Microsoft’s Build your first Blazor app tutorial, and here are my initial thoughts and reflections on it.
Second, it makes a lot of sense. In fact, if you’re familiar with React or Angular, you’ll feel right at home. Everything is a component and easily reused. The code and markup live together, which encourages small chunks of reusable components.
Second, the dual hosting model of Blazor is… different than what I’m used to. Having options is good, but I have to wonder, will one hosting model win out and the other be depreciated? What happens to your code base if you pick the losing hosting model? Not to mention, most front-end developers are used to thinking about their code running client-side. Switching to server-side is a change in mindset. But, once again, give Blazor time, I think these issues will work themselves out.
Third, browser tooling is lacking. When I ran into an issue with my code the first thing I did was open Chrome’s Developer Tools, go to the Sources tab… and my code wasn’t there. Of course, as WebAssembly is used more frequently, I’m confident browser vendors will continue to improve their tooling.
Finally, I’m not sure how well search engines can crawl a Blazor application. In fact, I can’t even navigate to a subpage of a Blazor application before it’s loaded. (For example, if my Blazor app was hosted on www.example.com, I can’t type in www.example.com/page and go directly there. I have to type in www.example.com and click the link on the home page to go to /page).
Blazor (and WebAssembly, for that matter) doesn’t support Internet Explorer. As of this writing, StatCounter reports that IE accounts for about 2.6% of all Internet traffic. But, depending on your customers, this may be substantially higher. For example, where I work, our website caters to business customers, and about 40% of our revenue comes from users on Internet Explorer 11. For us, choosing technology that doesn’t support IE11 isn’t an option.
Blazor is super cool, it’s easy to pick-up, and even in preview, it works and it works well! Blazor and its ecosystem still need some time to mature, but clearly Microsoft believes in it. The only question is, will other developers?