First, I am not shilling for Microsoft, these are my own opinions. Nor am I trying to inflame the React Community. If you like React or Angular, or whatever, I think that is great. You should use the tools that work for you. I am publishing this site to cut through the hype, and misinformation about Blazor and objectively get to the issues that are important to business application developers. The question I will try to answer here is; if you are a developer, doing real work for real clients, what are the benefits Blazor?
Blazor is awesome because:
Blazor allows you to write web apps with C#, end to end. One programming language for the entire solution. You don't need to use Javascript. You CAN use Javascript if you want but you don't have to. As a programming language, Javascript leaves much to be desired. C# is vastly superior. Typescript tries to fix the problems with Javascript but I think C# is still better.
Time to Market. As a developer and consultant, this is a big deal. Using Blazor and Azure I can loft simple applications, with authentication, in about a day. No other programming language makes me that productive. This is important because 'Time to Market' translates directly into money, and at the end of the day money is what everybody wants. I have been a Razor Pages developer for years, but Blazor makes me more productive.
Under .Net 10 Blazor web assembly loads and runs fast. The first page comes up right away and is 'live', no more waiting. I run a Blazor server app and a Blazor web assembly app in the same Azure data center, connecting to the same SQL Server database, and performance wise I can't see any difference. I am sure SignalR is faster but I can't tell.
The hot reload issue is a tempest in a teapot. When I make a change I recompile. It takes 2 seconds.
With Blazor you don't have to write a Web API, you get it for free. As a business application developer all my projects sit on a SQL Server database. With Entity Framework and Database First all the underlying database connectivity is built for you. This is an enormous time saver. If you have ever had to build a Web API you know how much work it can be be.
The React Developer Community is huge, and I understand the benefit of this. But there is plenty of third party functionality available for Blazor (MudBlazor, BlazorBootstrap, BlazorCalendar, and more). As a developer of business apps, all the tools I need are available.
Full integration with .Net. I have been working with .Net since it's release in 2001. All the great things about .Net are built into Blazor. All the C# code I have written over the years is fully portable.
Microsoft support. I don't get any sense that Microsoft is going to abandon Blazor, quite the opposite, it seems to be a priority for them.
Are there any downsides to Blazor? Sure. Blazor is a different programming model. You will need to learn to do some things differently. Occasionally I get slowed down a little bit but I have yet to run into any Show Stoppers. Also, the vast developer community that exists for React does not yet exist for Blazor. For an experienced developer this may be less of a problem but if you are new to programming there are fewer resources available.
Bottom Line:
If you are an existing .Net developer looking for a unified programming model for web development, Blazor is a sound selection. Even if you are new to programming, Blazor is a great place to 'hang your hat'. C# is a world class programming language, I have never regretted learning it. The Blazor programming model is well thought out and intuitive, this, coupled with it's considerable productivity gains, make Blazor a compelling choice.
Thoughts about the future:
Maybe you are thinking, should I even care? Isn't AI going to take my job anyway? No it's not, it just going to make you more productive. ChatGPT is amazing but people mistakenly think that this technology will somehow seamlessly translate into automatic, complete software solutions. It will not. What AI will do, and is doing, is handling the drudgery work for you. Type 'create a login screen in blazor' into ChatGPT or Anthropic. You get back a well formed Blazor login page. It doesn't do anything but it is a start. Now type 'create a login screen in blazor and hook it to my database' into ChatGPT. You get back a more complete answer but it still doesn't do anything useful. A developer is still required to wire everything together. In the long run I think automatic application creation has a future, but today, it is no where near ready. AI isn't going to replace you it is just going to help you get more done in a day. And this ignores 2 big areas where AI is grossly unsuited - Requirements Analysis and Software Design. Requirements analysis requires judgement and a solid understanding of context, and software design requires situational creativity. Computers are not very good at these.
I don't want to minimize the effect that AI going to have on this industry, I think in the long run it's impact will be profound. But in the short and medium term it is just going to make experienced programmers more productive, not replace them. The challenge for all of us is: how best to leverage this new technology to build better applications, faster. Embrace the change.
My name is Dave Mitchell. I have over 40 years of software development experience and over 20 years as a web developer. I can be reached at: dmitchell@southernstarsvs.com.
My site: Southern Star
We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.