What you need to know about Blazor from Microsoft

What You Need to Know About Blazor

Blazor from Microsoft

There are lots of articles out there about this new, not so new, Blazor framework from Microsoft and numerous other third parties telling you what it is, how it works, and just how it’s going to or not going to change web development.

Our initial thought on all this Blazor news was, “so what?” Quickly followed by what does all that mean and why does it matter to QAT Global and our clients?

At QAT Global, we do “Enterprise Software Development,” we do “Web Development,” we do “Mobile,” we do “Cloud,” and “PWA,” and the list goes on.  We also build, deploy, and manage custom applications on-premises and in the cloud.  We are a custom software development shop. Clients in a wide variety of industries partner with us because we consistently deliver value by leveraging onshore and nearshore resources with a proven development methodology, open-source platforms and technologies, and various COTS products and solutions. Our list of services and benefits is extensive, and you can read more here if you like.

What’s the Big Deal About Blazor?

So, given how QAT Global is already developing clients’ solutions, what’s the big deal about Blazor? At least from a QAT Global point of view?  Sure, we do enterprise software development with Java, .NET Core, PHP, Angular, React, Spring, etc., and a variety of other computer programming languages, libraries, and frameworks. So, Blazor is just another technology, another library to be added to our capabilities, right? Let’s take a closer look at Blazor from a QAT Global point of view.

From Microsoft:

Blazor is a framework for building interactive client-side web UI with .NET:

  • Create rich interactive UIs using C# instead of JavaScript.
  • Share server-side and client-side app logic written in .NET.
  • Render the UI as HTML and CSS for wide browser support, including mobile browsers.
  • Integrate with modern hosting platforms, such as Docker.

Using .NET for client-side web development offers the following advantages:

  • Write code in C# instead of JavaScript.
  • Leverage the existing .NET ecosystem of .NET libraries.
  • Share app logic across server and client.
  • Benefit from .NET’s performance, reliability, and security.
  • Stay productive with Visual Studio on Windows, Linux, and macOS.
  • Build on a common set of languages, frameworks, and tools that are stable, feature-rich, and easy to use.

As a software development company/provider Blazor is a big deal for every one of the bullets listed above, plus a few more.

The Most Critical Feature of Blazor

If we had to pick one critical feature from the Microsoft list of features about Blazor, it would be the one about leveraging existing .NET resources. Leverage can be defined as “using something to maximum advantage.”  As a software company, we invest in our onshore and nearshore development staff.  We train them based on industry standards, patterns, and practices.  We coach and mentor them based on over 20 years in the software development industry, not to mention more than 150 decades of software development experience found just in the senior leadership staff at QAT Global.  We continuously invest in and train our development staff from the time they join the QAT Global family to the time they exit.  So, the corresponding idea of leveraging our resources along with our experience is just smart. It’s smart for us as a company, and it’s smart for our customers.

The Great Divide: Frontend and Backend Developers

More often than not, there is a division in resources between what is often called “frontend” developers and “backend” developers in software development today.  At least for us at QAT Global, this division exists because of the considerable investment of time, talent, and experience it takes to be really good at either of these disciplines.  Sure, most developers can put together a web application and code the frontend and backend, but will it pass the test of time?

  • Will it need to be “updated” in a year?
  • Will it pass a PEN test?
  • Does it include automated performance testing?
  • Will it scale automatically?
  • Does it leverage cloud technologies?
  • Does it leverage industry-proven enterprise patterns and practices, or will it simply “work” by the developer’s definition and then need to be “re-worked”/rewritten based on a new requirement?

It might sound crazy, but we have customers who believe standards and practices are not needed since the next developer in the code will just rewrite everything anyway.

Blazor Enables Leveraging Resource Investments That Matter

QAT Global looks to leverage the investment we have made in our C#/.NET Core resources, and Blazor enables us to do just that.  When considering a traditional web development project, you most likely need a team of frontend and backend developers.  In terms of the total requirements that need to be implemented, rarely are they equally split between frontend and backend.  Often once the backend API is built, the remaining requirements are frontend related.  So even if just half of the backend developers were able to be “full-stack” developers on a Blazor project and implement some of the frontend requirements, the impact on the project, deliverable dates, and go-live date would be significant.

Is a Full-Stack Developer Really a Full-Stack Developer?

Full-stack developers, who are equally proficient in frontend (client-side) development and backend (server-side) development, are great if you can find them.  But in our experience, what you often end up with, based on a resume indicating “full-stack developer,” is a really good frontend developer who can basically code some SQL in a controller on the backend.  For an exhaustive discussion on this, see https://css-tricks.com/ooooops-i-guess-were-full-stack-developers-now/. This article is exhaustively long and deep. Still, even if you just scan the discussion, you can see the same problems and division or delegation of work between frontend and backend resources, and all with good reason.

Leveraging Blazor to Deliver Results for Everyone

But with Blazor, from a QAT Global point of view, all those bullet points from Microsoft listed at the top of this article are precisely why we are using Blazor for our customers. For QAT Global, each bullet point adds value for our resources, customers, and the bottom-line.

Now with Blazor, we have an opportunity to overcome, at least some, of the frontend/backend resource challenges we’ve mentioned, the “great divide,” by leveraging our C#/.NET core resources and letting them develop “closer to the browser/frontend.”

Furthermore, the “great divide” between frontend and backend resources is now smaller using Blazor.  This results in better, faster solutions development for our customers.  Without a doubt, we will still have resources who specialize or excel with frontend technologies and skills, such as CSS, HTML, and even JavaScript.  These skills will be leveraged in our Blazor solutions, but for us at QAT Global, the idea of an entire team who can only do frontend is no longer required with Blazor.

QAT Global is not:

  • Pondering the idea that Blazor is the “next latest and greatest” technology that will transform web development. Been there done that with CGI Perl, Struts, ASP.NET, etc.
  • Trying to capitalize on the idea that we should jump-on the Blazor bandwagon early and catch the wave. Been there done that also with Enterprise Java Beans.
  • Interested in “bleeding edge” technology that will get a bunch of hype and then be gone in 3 months like the next JavaScript framework. See Appendix A for a discussion on “JavaScript Fatigue.”
  • Looking for another proprietary technology that has a lot of hype but little to no third-party support or does not embrace open-source standards.

QAT Global is instead:

  • Looking to leverage open-source technologies, frameworks, and tools that have been and will be around for years to come in order to maximize our customers’ investment and decrease their maintenance costs.
  • Building non-proprietary solutions that clients own, operate, and maintain.
  • Creating enterprise solutions using proven enterprise patterns, practices, tools, and technologies.

We don’t want to simply build for you, but instead, we want to build with you something that will serve your business and your customers for years to come.  As a result, we tend to be pretty picky when it comes to our technologies.

The Big Deal About Blazor for QAT Global and Our Clients

Consequently, the big deal about Blazor for QAT Global and our clients is simple:

  1. It enables QAT Global to leverage our experience and our resources, which in turn benefits our customers.
  2. It allows us to create web-based solutions faster and cheaper for our customers because it decreases the “great divide.”
  3. It enables us to leverage our C#/.NET resources to do more of the work eliminating the need for additional frontend resources with significantly different skills and tools, which require additional investment.

This all why we think you need to know about Blazor and what it can do for you.

Appendix A: JavaScript Fatigue, is it real or imaginary?

Rocket Raccoon (Guardians of the Galaxy): Oh, it’s real!

Auth0 talks about JavaScript fatigue as: the inability to keep up with the latest tools, the fear of becoming obsolete, the constant change of the ecosystem, and the overwhelming choice. https://auth0.com/blog/how-to-manage-javascript-fatigue/

The article discusses ways to avoid this, but from a QAT Global point of view, software development/provider point of view, JavaScript fatigue is real.  Every time we start up a new project, we have to “catch up” on all the updates to our favorite JavaScript libraries, tools, and frameworks.  Or we need to review the “latest and greatest” JavaScript frameworks to see if it’s time to change. Let’s face it, fatigue == $$$ The developers that we trained up on one version of one library for a given project are not always, wait for it, leverageable, on the next project.  Or we need to allow them a few weeks to catch up, which is most likely a problem for our customers.

Then there is this article, which is just fun and for which we can’t agree more with the author; fundamentals are priceless.  https://www.freecodecamp.org/news/the-cure-to-js-fatigue

However, even with training our resources on the fundamentals, which we do early in their career with QAT Global, we still see plenty of JavaScript fatigue.