Was ist Blazor?

Und mit welcher Technologie programmieren Sie so?

Blazor kurz und knapp erklärt

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: 

  • Server- und clientseitige Webanwendungen, die Sie mit ASP.NET Blazor erstellen.
  • Hybride Anwendungen mit .NET MAUI Blazor, die als App auf einem Android- oder iOS-Smartphone laufen.
  • Und auch klassische Desktop-Anwendungen sind mit Blazor-Desktop an Board.

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.

Am Anfang war das Web

Blazor als .NET-basiertes Web-Framework

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.

Blazor WASM – Mit .NET und WebAssembly in den Browser

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.

Mit mehr Wumms in der Kiste – Der Blazor Server

Blazor WASM hat derzeit aber noch ein paar Nachteile:

  • Man kann nicht direkt auf das Betriebssystem und auf die ganze Bibliotheken-Palette des .NET-Frameworks zugreifen.
  • Außerdem ist Blazor WASM beim erstmaligen Laden einer Webseite etwas träge. Das kann schonmal aufs Gemüt schlagen.

Wer auf eine offline-fähige client-seitige Webanwendung verzichten kann, ist deshalb mit dem Blazor Server gut beraten:

  • Voller Zugriff auf alle .NET-Bibliotheken und Betriebssystemfunktionen
  • Eine sehr gute Performance durch sogenannte Web Sockets.
  • Entwicklung von reaktiven Webseiten, die auf der Stelle auf Nutzereingaben parieren. Richtig so!

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.

Blazor – das hybride Web-Cross-Plattform-Dingens

Was macht Blazor in der Softwareentwicklung nun so besonders?

Die Idee mit der Cross-Plattform-Entwicklung ist beileibe nicht neu. Auch vor Blazor gab es schon eine Reihe von ähnlichen Ansätzen: 

  • Mit Xamarin, genauer gesagt Xamarin Forms, hat alles angefangen. Erst konnte man als Softwareentwickler Android- und iOS-Apps entwickeln, dann kamen auch sog. Windows Universal Apps hinzu.
  • Wer gerne mit JavaScript herumbastelt kann Ionic verwenden. Als Frameworks dienen derzeit Angular, React oder Vue.js. Mal schauen was nächsten Monat so kommt.
  • Was wäre die Softwareentwicklung ohne die altbewährten Java-Dinos. Damit alles auch in der modernen Welt seinen Platz bekommt, geht die Java-Community mit JavaFX (OpenJFX) ins Rennen.
  • Daneben gibt’s eine ganze Reihe an Splittergruppen, die ähnliche Technologien entwickeln.

Eine Plattform für alles? Jetzt erst recht! Die Vorteile von Cross-Plattform-Lösungen

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:

  • Die Entwicklung, der Betrieb und die Wartung der Anwendungen ist wesentlich preiswerter als mit einem chaotischen Technologie-Zoo, da sich viel schneller Wiederverwendungsmöglichkeiten und Synergieeffekte zwischen Technologien, Projekten und vor allem Mitarbeitern einstellen.
  • Die Gefahr, das Rad in anderen Technologien neu zu erfinden, ist wesentlich geringer. Man kann sich in der Softwareentwicklung somit schneller auf die eigentliche Problemlösung fokussieren und zudem vorhandene Programmbausteine auch für neue Projekte verwenden.
  • Neue Mitarbeiter, Dienstleister oder Freiberufler sind leichter zu rekrutieren.
  • Im Ergebnis ist die Effizienz und Investitionssicherheit einer Cross-Plattform-Technologie wie Blazor wesentlich höher als mit klassischen Ansätzen.

Die etwas andere All-In-One-Cross-Plattform-Lösung

Toll! Und damit noch nicht genug. Denn Blazor bringt gegenüber seinen Vorgängern und Konkurrenten eine ganze Reihe an Vorteilen mit sich:

  • Mit .NET MAUI Blazor können Sie hybride Anwendungen für Android, Mac oder Windows – übrigens auch Windows 7 – in einem Code-Projekt unterbringen. In Xamarin, einem Vorgänger von .NET MAUI, wird zwar alles mit C# und .NET entwickelt, die Verwendung von plattform-spezifischen Code erfolgt aber immer noch ein einem zusätzlichen Projekt.
  • Nicht nur Programm-Code, der sich unter der Haube versteckt (auch Code Behind oder Geschäftslogik), wird plattformunabhängig entwickelt. Auch die UI kann dank Webstandards wie HTML und CSS zwischen den Plattformen hin- und herwandern. C# sorgt dann für die notwendige dynamische Darstellung von Formularen, Tabellen, Schaltflächen und anderen Steuerelementen – was übrigens als Razor-Komponenten bezeichnet wird.
  • Mit Visual Studio erhält Mann oder Frau eine Entwicklungsumgebung, die nicht nur für Hardcode-Nerds der Softwareentwicklung geeignet ist – und das nun schon seit über 25 Jahren. Die Geschäftslogik und Grundstruktur der Anwendung wird zu einem gewissen Grad auch für technisch versierte Entscheider und Fachanwender transparent. Schließlich bezahlen die ja auch den Spaß.
  • Es gibt eine Bandbreite an zusätzlichen Klassenbibliotheken wie Radzen und Teleriks Kendo UI, die eine Softwareentwicklung erstklassiger Anwendungen für den Enterprise- und Consumer-Markt ermöglichen. 
  • Zu guter Letzt wollen wir mal nicht vergessen, dass wir nicht die ersten sind, die Software entwickeln. Blazor lässt sich deshalb auch in Legacy-Anwendungen auf Basis von Windows Forms und WPF integrieren.

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.

Für Blazor ist man nie zu alt

Blazor für Bestandsanwendungen mit Windows Forms und WPF?

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.

Aus Neu mach Alt – Mit Blazor-Desktop und der BlazorWebView in die .NET-Vergangenheit

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:

  • Zugriff auf Hardware und dem Windows-Betriebssystem
  • Nutzung von bestehenden .NET-Code und Bibliotheken in Blazor
  • Verbreitung von Blazor-Anwendungen mit Hilfe eines Installers, der zum krönenden Abschluss auch noch ein Icon auf Ihren Bildschirm zaubert.

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.

Blazor das talentierte Wunderkind

Was ist Blazor? Ein Fazit

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:

  • Blazor WASM
  • Blazor Server
  • .NET MAUI Blazor – auch Blazor Hybrid genannt
  • Und Blazor-Desktop

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.

Wow, dieser Beitrag über Blazor ist echt gut!

Weitere Beiträge aus diesem Bereich interessieren mich auch

Kein Problem. Einfach liken oder vernetzen. Wir teilen unser Wissen regelmäßig in folgenden Kanälen:

Sie haben Fragen oder Anregungen?

Kontaktieren Sie uns noch heute: