The Emergence of Blazor
Developed as a personal project by Steve Sanderson of Microsoft and unveiled at
NDC Oslo in 2017, Blazor was initially based on
an interpreted .NET CIL (Common Intermediate Language) runtime called DotNetAnywhere. Its potential, albeit with limited features, was immediately evident.
Blazor,
introduced as an experimental project in early 2018, presented an intriguing proposition: building interactive web applications using C# and .NET. Up until that point, building the client-side of a single-page application traditionally relied on JavaScript, using frameworks such as Angular.
Gaining momentum within the developer community, Blazor evolved from an experimental project to a fully supported framework, with its inaugural release as part of the .NET Core 3.0 package in September 2019.
The Turning Point for Redakt
We hadn't paid much attention to Blazor before its release, as we were already committed to Angular. However, since we were developing Redakt CMS on the emerging .NET Core framework, we closely monitored all related developments. The inclusion of Blazor in .NET Core 3.0 caught our attention, leading us to explore its capabilities more thoroughly.
Blazor seemed well-suited for our vision of the Redakt back office. We aimed to create more than just a content management application; we envisioned it as a versatile web application framework. This framework was intended to not only implement the core functionalities of Redakt but also to enable agencies and system integrators to
develop custom applications within our ecosystem, thereby facilitating
digital transformation for their clients.
While Angular was a functional choice, it presented challenges, particularly in integrating front-end (Angular) and back-end (.NET Core) technologies. These distinct technologies required specialized developers, complicating the development process.
Redefining the Developer Role
For many IT organizations, software developers are often categorized as being either “front-end” or “back-end” developers. Front-end developers generally focus on programming that is executed on the browser (client-side), while back-end developers focus on programming that is executed on the server (server-side). Historically, programming languages and technological architecture have been very different between those two sides. (Unified technologies exist, most notably NodeJS, but not on the Microsoft technology stack.)
If you’ve seen job offers in the tech community, you’ve probably come across openings for “full-stack developers”. A full-stack developer is a person who is proficient in both client-side and server-side technologies. As somebody with firm roots in software engineering, my view on full-stack developers is skeptical.
The disparity in technologies and approaches makes it rare to find individuals equally adept in both areas, especially in an enterprise software environment.
At Redakt, this division meant relying on specialized Angular and .NET Core developers. Consequently, our clients also needed expertise in these two domains to be able to use Redakt for custom back office application development.