In den ersten beiden Beiträgen dieser Reihe wurde erkundet, was Blazor ist und wie die unterschiedlichen Hosting-Modelle funktionieren. Dabei wurde festgestellt, dass Blazor ein solides und innovatives Framework für die Web-Entwicklung ist.
Teil 1: Blazor – das Web-Framework von Microsoft
Teil 2: Blazor – Hosting-Modelle
Trotz der vielversprechenden Eigenschaften scheint es, dass Blazor bisher nicht seinen Platz in der Welt der Web-Frameworks gefunden hat. In diesem dritten Teil wird genauer betrachtet, wie sich Blazor im Vergleich zu anderen Web-Frameworks positioniert und welche Zukunftsaussichten es hat.
Marktanteile von Web-Frameworks
Die Web-Entwicklung ist von einer Vielzahl von Frameworks geprägt, die unterschiedlich stark auf dem Markt verbreitet sind. In der nachfolgend darstellten Statistik von Juni 2023 von Statista
wurde ermittelt, welche dieser Web-Frameworks Entwickler nutzen (Mehrfachnennung möglich). Node.js führt dabei mit Platz 1 und React mit Platz 2 die Rangliste an. Im Vergleich dazu liegt Blazor auf Platz 20. Diese Platzierung wirkt zunächst sehr bescheiden und wirft die Frage auf, ob Blazor jemals einen Platz unter den Spitzenreitern erreichen kann.
Die Daten von Web-Analyse-Tools werfen zusätzliches Licht auf die Position von Blazor im Vergleich zu anderen Web-Frameworks. Beispielsweise analysiert die Seite Webtechsurvey.com
öffentlichen Webseiten mit definierbarem Web-Framework und hat ebenfalls ermittelt, dass React eine Spitzenposition einnimmt. Blazor verweilt währenddessen lediglich auf Platz 40. Diese Zahlen bestätigen die bisherigen Erkenntnisse und unterstreichen die Herausforderungen, denen Blazor gegenübersteht.
Adaption von Blazor
Die vorhergehende Betrachtung der Statistiken verdeutlicht, dass Blazor in der Web-Entwicklergemeinschaft noch keinen nennenswerten Stellenwert erreicht hat. Eine interessante Beobachtung dabei ist jedoch, dass in allen Statistiken .NET sowie zugehörige Web-Frameworks wie ASP.NET MVC und ASP.NET Razor Pages deutlich bessere Platzierungen als Blazor erreichen. Es besteht somit eine hohe Wahrscheinlichkeit, dass Blazor im Laufe der Zeit deren Position und Anteile übernimmt. Denn es wäre für Entwickler und Unternehmen, die bereits auf .NET-Technologien setzen, strategisch sinnvoll, die bestehende Basis zu erhalten und parallel auf das neue .NET-Web-Framework Blazor umzusteigen.
Ein solcher Umstieg ermöglicht einen nahtlosen Transfer von Systemen, Infrastruktur, Know-how und Quellcode. Infolgedessen ist anzunehmen, dass im Laufe der Zeit ein Großteil der bisherigen .NET-Webanwendungen auf Blazor migriert wird, insbesondere wenn ältere .NET-Web-Frameworks ihr End-of-Life erreichen. Durch diese Adaption könnte Blazor somit sehr schnell in eine der Spitzenpositionen gelangen. Doch welche Schritte unternimmt Microsoft, um diese Adaption zu fördern und die Marktanteile von Blazor auszubauen und Blazor als Gamechanger in der Web-Entwicklung zu etablieren?
Etablierung von Blazor
Die Etablierung und somit auch die Zukunft von Blazor wird durch verschiedene entscheidende Faktoren geprägt. Eine zentrale Rolle spielt dabei die stetig zunehmende Präsenz, die sich in verschiedenen Bereichen abzeichnet - sei es in Fachzeitschriften, auf Konferenzen und Veranstaltungen, in sozialen Medien, in Entwicklergemeinschaften oder weiteren Bereichen. Diese gesteigerte Sichtbarkeit trägt dazu bei, Blazor als relevantes und aufstrebendes Web-Framework zu positionieren.
Letztendlich resultiert diese Aufmerksamkeit jedoch durch die kontinuierliche Weiterentwicklung von Blazor. Dabei spielt insbesondere das kürzlich veröffentlichte .NET 8 eine entscheidende Rolle, welche diversen Optimierungen mit sich gebracht hat, wie zum Beispiel im Bereich Performance und Tooling. Einer der größten Meilensteine ist jedoch die Einführung von „Rendermodes“. Diese definieren, wie Komponenten gerendert werden und beeinflussen somit die Wahl des Hosting-Modells. Dabei stehen verschiedene Optionen zur Verfügung.
Optionen bei der Wahl des Hosting-Modells
-
Static server: In diesem Modus werden Inhalte rein server-seitig und statisch gerendert. Dies bringt diverse Vorteile mit sich, wie eine erhöhte Performance und niedrigere Last auf dem Server (keine WebSocket-Verbindungen) sowie bei dem Client (kein WebAssembly). Im Gegensatz zu Interactive Server wird dabei jedoch keine umfassende Interaktivität geboten.
✔ Durch seine Eigenschaften ist es noch enger mit ASP.NET MVC verwandt als Blazor Server (siehe vorheriger Blogbeitrag)
.
✔ Es bietet diverse Vorteile im Vergleich zu ASP.NET MVC wie beispielsweise ein echtes Komponentenmodell oder auch Streaming Rendering, die für ein SPA-ähnliches Erlebnis sorgen, trotz statischer Inhalte.
✔ Für dieses Modell bestehen gute Chancen, dass es ASP.NET MVC ablösen und sich selbst etablieren wird.
-
Interactive Server: Dieser Modus entspricht Blazor Server (siehe vorheriger Blogbeitrag)
.
-
Interactive WebAssembly: Dieser Modus entspricht Blazor WebAssembly Hosted, welches auf einer .NET-Umgebung ausgeführt wird. Dies unterscheidet sich zu Blazor WebAssembly Standalone (siehe vorheriger Blogbeitrag)
, welches auf einem Static File Sever betrieben werden kann. Beide Optionen existieren weiterhin parallel.
-
Interactive Auto: In diesem Modus wird die Anwendung beim ersten Aufruf mit Interactive Server geladen und cacht im Hintergrund die WebAssembly-Daten. Sobald die Daten erfolgreich geladen wurden, erfolgt eine automatische Umstellung, sodass bei den folgenden Aufrufen Interactive WebAssembly genutzt wird.
✔ Dieser hybride Ansatz bietet eine effektive Lösung für das Problem der vergleichsweisen langen initialen Ladezeit bei WebAssembly.
✔ Ein solcher Lösungsansatz kann dazu beitragen, WebAssembly für Entwickler attraktiver zu machen und somit seine Präsenz und Verwendung in der Entwicklergemeinschaft weiter zu festigen.
Zudem kann auch der Geltungsbereich der jeweiligen Rendermodes definiert werden. Statt wie bisher nur anwendungsweit (Global Interactivity) kann nun innerhalb einer Anwendung festgelegt werden, dass bestimmte Seiten (Page Interactivity) oder Komponenten (Component Interactivity) mit einem der genannten Rendermodes ausgeführt werden sollen.
✔ Indem Entwickler innerhalb einer Anwendung je nach Anforderungen zwischen server- und client-seitigem Rendern wechseln können, passt sich Blazor besser an unterschiedliche Use-Cases an und stärkt somit seine Positionierung in der Webentwicklung.
Angesichts dieser kleinen Auswahl an positiven Entwicklungen, der kontinuierlichen Weiterentwicklung durch Microsoft und der allgemein steigenden Präsenz zeichnet sich Blazor als vielversprechendes und zukunftsweisendes Web-Framework ab. Es wird nicht nur durch seine technologische Fortschrittlichkeit, sondern auch durch eine engagierte und wachsende Gemeinschaft getragen. Es bleibt spannend zu beobachten, welche weiteren Meilensteine dieses Framework in Zukunft erreichen wird.
Fazit zur Marktakzeptanz des Web-Frameworks Blazor
Blazor präsentiert sich als vielversprechendes Web-Framework. Trotz seiner soliden Eigenschaften und innovativen Ansätze konnte es jedoch noch nicht den gleichen Grad der Etablierung und Akzeptanz erreichen wie seine Konkurrenten. Dies könnte sich jedoch durch die Weiterentwicklung des Frameworks ändern. Die Neuerungen aus dem kürzlich veröffentlichten .NET 8 können beispielsweise einen signifikanten Wendepunkt darstellen. Insbesondere wenn dadurch bestehende .NET-Web-Anwendungen von Blazor als neues .NET-Web-Framework abgelöst werden. Die Zukunftsaussichten von Blazor werden jedoch nicht nur von der technologischen Weiterentwicklung und der stetig wachsenden Community abhängen, sondern auch von seiner Fähigkeit, sich als fortschrittliches und integratives Framework in der Welt von .NET zu positionieren.