Eine Programmiersprache wie C# ist super. Noch besser ist eine Plattform wie .NET damit daraus auch ein Programm entsteht, dass auf einem Rechner läuft. Und die Krönung der Schöpfung – Sie ahnen es schon – ist ein Framework, also eine Art Fertigbaukasten, um effizient Software zu entwickeln, die sich auch tatsächlich nutzen lässt. Und Blazor ist ein solcher Fertigbaukasten für alle möglichen .NET-Anwendungen, die auf allen möglichen Plattformen laufen. Dazu gehören:
Das rangiert in der Softwareentwicklung unter dem Begriff Cross-Plattform-Entwicklung. Einfach gesprochen: Einmal programmiert, für alle Plattformen (Windows, Mac, Android) ausgeliefert. Ganz schön clever! Finden Sie nicht? Denn die häufig gestellten Fragen beim Start eines neuen Softwareentwicklungs-Projektes „Welche Programmiersprache nutzen wir?“, „Welche Plattform ist die Richtige?“ und „Welches Framework sollen wir bloß verwenden?“ lassen sich nun leicht beantworten: Nutzen wir doch einfach Blazor mit .NET und C#. Tja. So leicht kann man sich das Leben machen.
Vor der Zeit als überragender Alleskönner, fing Blazor mal ganz bescheiden als Web-Framework an. Genauer gesagt als Client-seitiges Web-Framework. Die Grundidee bestand darin, C# bzw. .NET auch im Browser lauffähig zu machen. Der .NET-Entwickler sollte sich dabei wie zu Hause fühlen und ähnliche Programmier-Konzepte und Komponenten, wie für seine serverseitigen Anwendungen nutzen – die übrigens Razor-Komponenten heißen. Daher auch der Name: B wie Browser und Razor ergibt gleich Blazor. Also Razor für den Browser, wenn Sie so wollen.
Und wozu dieser Aufwand? Bis dato musste man im Frontend immer JavaScript verwenden. Die Betonung liegt auf müssen! Heißt, man musste sich häufig auch mit dem kompletten Werkzeug-Kasten – meistens aus dem Hause Node.js – anfreunden. Das Problem? Irgendeiner hat es immer wieder geschafft, dass am nächsten Morgen etwas Neues in diesem JavaScript-Werkzeugkasten lag. Sozusagen Nikolaus. Nur, dass man sich nicht über die Geschenke freuen kann, weil ständig die Schuhe vollgestopft sind. Da kam es vielen .NET-Entwicklern entgegen, dass man nun .NET und viele seiner geliebten Bibliotheken auch via WebAssembly im Browser ausführen konnte und vom JavaScript-Fluch befreit wurde. Mit Blazor WASM gibt’s .NET-Anwendungen nun also auch für den Browser.
Blazor WASM hat derzeit aber noch ein paar Nachteile:
Wer auf eine offline-fähige client-seitige Webanwendung verzichten kann, ist deshalb mit dem Blazor Server gut beraten:
Das klingt jetzt alles sehr abgefahren, was da so in der Softwareentwicklung mit dem Blazor Server läuft. Allerdings dürfte Ihnen das Prinzip nicht ganz unbekannt sein: Wahrscheinlich kennen Sie das von Chats aus Facebook oder WhatsApp. Man schreibt eine Nachricht und prompt kommt eine hoffentlich freundliche Antwort zurück. Und das alles ohne manuelle Aktualisierung des Browser-Fensters. Echt magisch.
Beim Blazor Server läuft das ähnlich. Hier chattet der Server sozusagen mit dem Client und versorgt diesen mit allen Daten, die er braucht. Der Client sorgt dann wiederrum für die Aktualisierung des Browsers, genauer gesagt des HTML und CSS-Codes. Damit vereint Blazor Server die Vorteile einer serverseitigen Anwendung, wie Performance und Sicherheit mit den Vorzügen einer dynamischen Aktualisierung der Weboberfläche von Client-Anwendungen.
Die Idee mit der Cross-Plattform-Entwicklung ist beileibe nicht neu. Auch vor Blazor gab es schon eine Reihe von ähnlichen Ansätzen:
Die Gründe für die Bestrebungen, möglichst viel Software mit einer einheitlichen Programmiersprache, Plattform und einem Framework wie Blazor zu entwickeln, liegen auf der Hand:
Toll! Und damit noch nicht genug. Denn Blazor bringt gegenüber seinen Vorgängern und Konkurrenten eine ganze Reihe an Vorteilen mit sich:
Auf die Frage „Was ist Balzor?“, lässt sich also mit Fug und Recht antworten: Eine sichere Sache, wenn es um Softwareentwicklung bzw. Cross-Plattform-Entwicklung mit .NET geht.
Wenn Sie Softwareentwicklung auf der grünen Wiese betreiben, ist die Sache einfach: Sie nehmen einfach die Technologie, die Ihnen gerade passt und perspektivisch die meisten Vorteile bringt. Also .NET und Blazor – klar, oder? Keine Altlasten. Keine Einschränkungen.
Aber was ist, wenn Sie bereits eine Legacy-Anwendung, also eine etwas in die Jahre gekommene, aber dennoch sehr geschäftskritische Software-Lösung haben? Alles übern Haufen werfen und neu machen? Ein jahrelanges Migrationsprojekt starten? Riskieren, dass nichts mehr so gut läuft wie früher? Zum Glück lässt sich Blazor auch in ältere Desktop-Anwendungen mit Windows Forms und WPF integrieren. Sie brauchen also keine dicke Lippe riskieren und können trotzdem schon mal etwas .NET-Frischluft schnuppern – alles unter dem Oberbegriff Blazor-Desktop.
Was ist denn nun Blazor-Desktop schon wieder? Und was hat es mit diesem WebView-Teil auf sich? Nun, Blazor-Desktop ist einfach ein Oberbegriff für die Möglichkeit, Blazor auch in Form von Desktop-Applikationen zu entwickeln. Teilweise wird aber auch Blazor-Desktop als Blazor Hybrid bezeichnet. Wenn Sie so wollen ein Marketing-Begriff, damit auch der letzte versteht: Ja Sie können Blazor auch auf Ihrer Windows-PC-Büchse, wie all die anderen Programme laufen lassen, mit all den netten Funktionen, die man halt so kennt:
Die einzige Bedingung: Sie müssen auf .NET 6 oder höher entwickeln. Sprich, falls Sie eine bestehende Anwendung haben, muss vorher eine Migration nach .NET 6 passieren. Insbesondere bei kleineren modularen Software-Lösungen, ist dies häufig aber kein Problem. Und wenn gar nichts hilft, bleibt immer noch die Integration über den guten alten COM-Standard.
Mit Blazor lassen sich alle Anwendungs-Typen entwickeln. Unabhängig auf welcher Plattform man sich bewegen möchte. Für jeden Zweck gibt es zugeschnittene Ausprägungen und Varianten:
Damit ist sichergestellt, dass man jeweils das volle Potential der mächtigen .NET-Plattform für sein Softwareentwicklungs-Projekt nutzen kann. Und das auch unter dem Legacy-System Windows 7 – vorausgesetzt Sie migrieren nach .NET 6 oder statten Ihre Software-Lösung mit COM-Schnittstellen aus.
Und falls Sie mal mit Blazor, C# oder .NET nicht weiterkommen, wissen Sie ja nun, wo es unkomplizierte und schnelle Unterstützung in Sachen professioneller Softwareentwicklung mit .NET gibt.