Michael Bradvica joined Saxony Partners in 2020 as a Software Engineer on our app dev team. Previously, he has worked as a Full-Stack .NET Developer for technology services firms. You can read more of his thought leadership at MichaelBradvica.com – from which the blog post below has been adapted.
“Your Application Is Not Blazor, And Blazor Is Not Your Application”
Blazor is a wonderful new way to write web-based applications. What’s interesting is that it is neither exclusively for native mobile nor a traditional desktop.
Perhaps your application is web-based, but how much should you risk on a single platform? If you were selling home goods, for instance, you would want your product on the shelves at multiple retailers – not just one. Software works the same way—you want multiple avenues to deliver your product. Customers expect you to have a working web, tablet, and native mobile version of your application all at the same time. Your application is not Blazor, and Blazor is not your application. Rather, you can think of Blazor as an advantageous way to present your product to potential customers.
Empower Your Application Through Flexibility
Separating the UI from the application itself gives you one of the most valuable currencies in software development: flexibility. The capability to stand-up an iOS or Android application alongside a web application (with minimum frustration) is extremely valuable. It would be disastrous if an engineering team spent a year developing a self-contained web application only for the marketing team to discover that their customers prefer mobile or desktop. It would take months to rip out all the back-end code and pivot. Separating the various platforms from the start with Blazor eliminates the pitfalls of mono-accessibility. Flexibility is everything.
Why You Should Separate UI from the Application
In one of my first consulting roles, I had a client who overhauled their entire front-end from an “ancient” Silverlight at the time to a passable Durandal web framework. Durandal may have stacked well against the first generation of SPAs (such as AngularJS) but it was clearly outdated when compared to the later Angular and ReactJS. My client had chosen to put most of their application into a solution that contained both front- and back-end code.
This solution, in turn, communicated to multiple services in a quasi-SOA style architecture, which caused the front-end and back-end code to be awkwardly married. The only product they could give to their customers was a web application. Worst of all, they were forced to upgrade from Durandal to a modern framework in the next couple of years, reliving this nightmare. Separating the UI from the rest of the application would have minimized many of these issues in the beginning.
Another client of mine faced the same dilemma with a very similar technology stack. Their entire application was inside a single solution application that contains both the UI and back-end, like a Frankencode amalgamation. They faced the same constraints. They were limited to a web application, and they had a very large solution to maintain. Adding a mobile or desktop application would take months or years to stand-up.
Separating the UI from your application is an insurance policy against the only constant: change! It represents an up-front investment to save future time and headaches. Most companies today are realizing that customers want to engage in different ways–whether traditional web, native mobile, tablet, or desktop. Blazor can fit into most of those roles. By keeping UI separate from the application, you will reach a greater audience and protect yourself from the pain and cost of adapting.
Making Digital Practical with Saxony Partners
Technology and digital strategy can be complicated, but our goal at Saxony Partners is simple: Make Digital Practical.
Saxony Partners will meet you where you are and help you get where you want to go. Our pragmatic approach helps ensure early success by leveraging proven technologies and practical solutions in a cost-effective way.
Our team of app dev experts, full-stack developers, and software engineers work with clients to optimize their technology investments and leverage that technology to meet and solve business needs and challenges.
If you or your company is looking for help with software development, reach out to us here.