Zum Inhalt springen
Akinware
Editor mit geöffnetem Projekt und Dateibaum

Was ist Blazor?

Mit Blazor entstehen Weboberflächen in C# statt in JavaScript. Für wen sich das lohnt, wie die zwei Betriebsarten funktionieren und wann React die bessere Wahl ist, verständlich erklärt.

Lesezeit
9 Minuten
Autor
Samet Akin
Veröffentlicht

Was ist Blazor?

Im Browser gilt seit Jahrzehnten eine einfache Regel: Wer eine Oberfläche zum Leben erwecken will, schreibt JavaScript. Blazor bricht diese Regel. Es erlaubt, Weboberflächen in C# zu bauen, der Sprache, in der ein großer Teil der deutschen Unternehmenssoftware geschrieben ist. Für Firmen mit .NET im Haus bedeutet das: Die Weboberfläche entsteht in derselben Sprache wie die Warenwirtschaft, die Berechnungen und die Prüfregeln, die es dort schon gibt.

Gebaut wird in Komponenten, also in wiederverwendbaren Bausteinen wie einer Preistabelle oder einem Bestellformular. Jede Komponente ist eine Datei, in der HTML und C#-Code zusammenstehen. Das Prinzip kennt man von React, nur dass hier keine zweite Sprachwelt nötig ist. JavaScript lässt sich einbinden, wenn eine fertige Bibliothek gebraucht wird, es ist aber nicht die Grundlage.

Dieses kleine Beispiel ist eine vollständige Blazor-Komponente: oben die Anzeige, unten die Logik, beides in einer Datei und beides in C#. Klickt jemand auf den Knopf, zählt die Anwendung hoch und aktualisiert die Anzeige von selbst.

<h3>Erfasste Prüfungen: @anzahl</h3>
<button @onclick="Erfassen">Prüfung erfassen</button>

@code {
    private int anzahl = 0;

    private void Erfassen()
    {
        anzahl++;
    }
}

Wie funktioniert Blazor?

Blazor gibt es in zwei Betriebsarten, und die Wahl zwischen ihnen ist die wichtigste Entscheidung im Projekt. Bei Blazor Server läuft die komplette Logik auf dem Server. Der Browser zeigt nur an und meldet jede Eingabe über eine offene Verbindung zurück, der Server schickt die Bildschirmänderung. Das startet schnell und hält den Code im Haus, braucht aber eine stabile Verbindung: Bei schlechtem Netz fühlt sich die Anwendung träge an.

Bei Blazor WebAssembly läuft die Anwendung dagegen direkt im Browser. Möglich macht das WebAssembly, ein Standard, den alle großen Browser verstehen und der auch anderen Sprachen als JavaScript den Weg in den Browser öffnet. Der Preis ist der erste Aufruf: Der Browser lädt neben der Anwendung eine abgespeckte .NET-Laufzeit herunter, und das dauert spürbar länger als bei einer klassischen Webseite. Danach arbeitet die Anwendung auch bei wackligem Netz flüssig.

Seit .NET 8 lassen sich beide Arten mischen: Eine Seite kann fertig vom Server kommen, einzelne Bereiche laufen interaktiv, je nachdem, was die Stelle braucht. Als Faustregel aus unseren Projekten: Im Firmennetz passt meist Server, für Geräte unterwegs eher WebAssembly. Welche Art im Einzelfall trägt, klären wir vor dem Projekt, nicht mittendrin.

Wozu wird Blazor verwendet?

Die ehrliche Antwort: fast immer für Anwendungen hinter dem Login, nicht für öffentliche Webseiten. Blazor spielt seine Stärke dort aus, wo ein .NET-Team eine Oberfläche braucht und vorhandene Fachlogik weiterverwenden will. Typische Einsätze sind:

  • Interne Anwendungen wie Prüfmasken, Planungswerkzeuge oder Zeiterfassung im Firmennetz
  • Die Ablösung alter Windows-Programme, deren Fachlogik in C# weiterleben soll
  • Kundenportale für Bestandskunden, bei denen Auffindbarkeit bei Google keine Rolle spielt
  • Verwaltungsoberflächen für Maschinen und Geräte, auch auf dem Tablet in der Halle
  • Dashboards, die Zahlen aus bestehenden .NET-Systemen anzeigen

Wir setzen Blazor genau in diesem Rahmen ein: Wenn eure Fachlogik in .NET liegt, verwenden wir sie in der Oberfläche direkt weiter, statt sie in einer zweiten Sprache nachzubauen. Liegt kein .NET im Haus, raten wir zu React, auch wenn die Anfrage nach Blazor gestellt war. Mehr zu diesen Projekten steht auf unserer Seite zu Webanwendungen.

Die Geschichte von Blazor

Blazor begann nicht als Produktplan, sondern als Machbarkeitsbeweis. Der Microsoft-Entwickler Steve Sanderson zeigte 2017 in einem Experiment, dass .NET dank WebAssembly im Browser laufen kann. Aus der Spielerei wurde ein offizielles Projekt: 2019 erschien Blazor Server als Teil von .NET Core 3.0, ein Jahr später folgte Blazor WebAssembly. Seitdem ist Blazor fester Bestandteil von .NET und wird im selben Rhythmus weiterentwickelt.

Erschienen
2019, mit .NET Core 3.0
Entwickelt von
Microsoft, quelloffen
Sprache
C# und Razor
Lizenz
MIT, kostenfrei nutzbar
Betriebsarten
Blazor Server und Blazor WebAssembly

Vom Experiment zum festen Teil

Hände auf einer Tastatur vor einem Bildschirm mit Code

Das Experiment

Steve Sanderson zeigt auf einer Konferenz, dass .NET im Browser laufen kann. Der Name Blazor entsteht aus Browser und Razor, der Vorlagensprache von .NET.

2017

Die Grenzen von Blazor

Blazor ist eine Antwort auf eine bestimmte Lage, kein Werkzeug für alles. Wer es einsetzen will, sollte die Einschränkungen kennen, bevor die Entscheidung fällt:

  • Der erste Aufruf einer WebAssembly-Anwendung lädt die .NET-Laufzeit, auf Mobilfunk dauert das spürbar
  • Blazor Server steht und fällt mit der Verbindung: bei schlechtem Netz reagiert die Oberfläche verzögert
  • Das Umfeld ist kleiner als bei React, es gibt weniger fertige Bausteine und weniger Entwickler am Markt
  • Für öffentliche Seiten, die schnell laden und bei Google vorn stehen sollen, gibt es passendere Werkzeuge

Keiner dieser Punkte wiegt schwer, solange Blazor dort eingesetzt wird, wofür es gedacht ist: Anwendungen für einen bekannten Nutzerkreis, in Firmen, die ohnehin mit .NET arbeiten.

Blazor oder React?

Der Vergleich liegt nahe, weil beide Frameworks Oberflächen aus Komponenten bauen. Die Antwort hängt aber weniger an der Technik als an eurem Haus. React ist der Standard im offenen Web: riesiges Umfeld, viele Entwickler, erste Wahl für alles, was öffentlich und schnell sein muss. Blazor ist die Wahl für .NET-Häuser, die keine zweite Sprachwelt aufmachen wollen. Als Orientierung:

  • React, wenn die Anwendung öffentlich ist oder das Team bereits mit JavaScript arbeitet
  • React, wenn ihr am Markt aus möglichst vielen Entwicklern wählen wollt
  • Blazor, wenn eure Software in C# geschrieben ist und intern genutzt wird
  • Blazor, wenn vorhandene Fachlogik aus .NET in der Oberfläche weiterleben soll

Falsch ist keine der beiden Entscheidungen, teuer wird nur die unpassende. Ein .NET-Team, das für eine interne Anwendung React lernen muss, verliert Monate. Eine öffentliche Seite in Blazor kämpft mit Ladezeiten, die React nicht hätte. Die Frage ist also nicht, welches Framework besser ist, sondern welches zu eurem Team und eurem Vorhaben passt.

Blazor aus Kundensicht

Für Auftraggeber ist die entscheidende Frage nicht, wie Blazor technisch arbeitet, sondern wer die Anwendung in fünf Jahren pflegt. Genau hier liegt der Reiz: Wenn das eigene Haus mit .NET arbeitet, bleibt die Weboberfläche in der Sprache, die die eigenen Leute lesen und ändern können. Es entsteht keine zweite Werkzeugkette, kein zweites Spezialwissen, keine Abhängigkeit von einem JavaScript-Dienstleister für jede Kleinigkeit.

Auf der Kostenseite ist Blazor unauffällig: Framework und Werkzeuge sind quelloffen und kostenlos, bezahlt wird die Entwicklungszeit. Einplanen sollte man die Versionswechsel von .NET, alle zwei Jahre erscheint eine Fassung mit Langzeitunterstützung, und der Umstieg gehört in die Wartung. Beim Ablösen alter Windows-Programme rechnet sich Blazor oft doppelt: Ein Teil des vorhandenen C#-Codes bleibt nutzbar, und die neue Anwendung muss nicht mehr auf jedem Arbeitsplatz installiert werden.

Lohnt sich Blazor noch?

Die Frage stellt sich bei Blazor anders als bei manchem JavaScript-Framework, das nach drei Jahren wieder verschwindet. Blazor ist kein eigenständiges Produkt, das sich allein am Markt behaupten muss, sondern fester Bestandteil von .NET, einer Plattform, auf der ein erheblicher Teil der weltweiten Unternehmenssoftware läuft. Microsoft entwickelt es im Jahresrhythmus weiter und setzt es in eigenen Produkten ein.

Den Kampf um das offene Web hat Blazor nicht gewonnen, und es sieht nicht danach aus, dass sich das ändert. Dort bleiben React und seine Verwandten gesetzt. In seiner Nische dagegen, den Geschäftsanwendungen der .NET-Welt, ist Blazor etabliert und wächst. Wer dort zuhause ist, bekommt ein Werkzeug mit langer Perspektive. Was wir damit bauen und wann wir abraten, steht auf unserer Seite zur Blazor-Entwicklung.

Was Blazor stark macht

Beleuchtete Tastatur vor einem Bildschirm mit einer Oberfläche

Eine Sprache im Haus

Oberfläche, Server und Fachlogik entstehen in C#. Das Team bleibt in seiner Welt, und niemand muss für die Weboberfläche eine zweite Sprache pflegen.

Bildschirm mit zwei Anwendungen, die über Pfeile verbunden sind

Vorhandenes weiterverwenden

Prüfregeln, Berechnungen und Datenmodelle aus bestehender .NET-Software lassen sich in der Oberfläche direkt nutzen, statt sie neu zu schreiben.

Laptop mit einer Anmeldemaske für ein Kundenportal

Schluss mit Installationen

Was früher auf jedem Arbeitsplatz installiert wurde, läuft als Blazor-Anwendung im Browser. Eine Aktualisierung auf dem Server erreicht alle sofort.

Laptop mit einer Webseite, daneben eine Layoutskizze auf Papier

Zwei Betriebsarten

Auf dem Server oder direkt im Browser: Blazor lässt die Wahl und erlaubt seit .NET 8 sogar die Mischung. Die Anwendung passt sich dem Einsatzort an.

Was wir mit Blazor bauen

Blazor setzen wir dort ein, wo .NET schon zuhause ist. Diese Leistungen gehören dazu.

  • Bildschirm mit einem Dashboard voller Diagramme und Kennzahlen

    Webanwendungen

    Prüfmasken, Portale und interne Werkzeuge, die alte Windows-Programme ablösen und im Browser laufen, auch auf dem Tablet in der Halle.
  • Zwei Personen sehen gemeinsam ein Dokument an

    Beratung

    Blazor oder React, Server oder WebAssembly: Wir prüfen euren Bestand und sagen ehrlich, welcher Weg zu eurem Team passt.
  • Vier Personen mit Laptops an einem Tisch in einem hellen Raum

    Schulungen

    Euer .NET-Team soll die Anwendung selbst weiterentwickeln? Wir arbeiten es in Blazor ein, an eurem eigenen Projekt statt an Übungsbeispielen.

Häufige Fragen

Was kostet Blazor?

Das Framework ist quelloffen und kostenlos, auch im Geschäftsbetrieb. Kosten entstehen für Entwicklung, Server und Pflege. Wer schon .NET im Haus hat, spart an einer Stelle, die selten mitgerechnet wird: Das eigene Team kann die Anwendung ohne neue Sprachkenntnisse warten.

Ist Blazor schwer zu lernen?

Für C#-Entwickler nicht, das ist der Kern der Idee. Sprache, Werkzeuge und Bibliotheken sind dieselben wie in der übrigen .NET-Welt, neu ist vor allem das Denken in Komponenten. Ein .NET-Team baut nach kurzer Einarbeitung produktiv an der ersten Anwendung.

Was ist WebAssembly?

Ein offener Standard, den alle großen Browser unterstützen. Er erlaubt, dass auch andere Sprachen als JavaScript im Browser laufen, mit nahezu der Geschwindigkeit eines installierten Programms. Blazor nutzt WebAssembly, um .NET-Anwendungen direkt im Browser auszuführen.

Läuft Blazor auch auf dem Handy?

Ja, Blazor-Anwendungen laufen in jedem modernen Browser, auch auf Smartphone und Tablet. Für eine installierbare App gibt es zudem die Kombination mit .NET MAUI, bei der Blazor-Komponenten in einer echten App stecken. Für reine Endkunden-Apps sind aber andere Werkzeuge üblicher.

Wer nutzt Blazor?

Microsoft selbst, etwa in Teilen des Azure-Portals, dazu viele Unternehmen mit .NET-Software, deren interne Anwendungen nie öffentlich zu sehen sind. Genau deshalb wirkt Blazor unsichtbarer, als es ist: Sein Einsatzgebiet sind Firmenanwendungen, nicht die offene Webseite.

Ist eine Blazor-Seite bei Google auffindbar?

Mit den Servermodi seit .NET 8 grundsätzlich ja, denn Seiten können fertig gerendert ausgeliefert werden. Trotzdem ist das nicht die Stärke von Blazor, und für Webseiten, die von Suchtreffern leben, empfehlen wir andere Werkzeuge. Blazor gehört hinter den Login, nicht auf die Startseite.

Weiterlesen

  • Aufgeklappter Laptop mit Quelltext neben einer Pflanze

    Was ist C#?

    C# ist die Programmiersprache von Microsofts .NET-Plattform und die übliche Wahl für Software, die in Unternehmen über Jahre laufen muss. Woher die Sprache kommt, was sie kann und wann sie sich lohnt, verständlich erklärt.
  • Hand hält ein Smartphone mit einer Auswertungsansicht

    Was ist .NET MAUI?

    Mit .NET MAUI entstehen Apps für Android, iOS, Windows und macOS aus einem einzigen C#-Projekt. Woher das Framework kommt, was es von React Native unterscheidet und wann es sich lohnt, verständlich erklärt.
  • Schreibtisch mit Laptop, Tasse und Notizblock

    Was ist Payload?

    Payload ist ein Headless-CMS in TypeScript, das direkt in einer Next.js-Anwendung mitläuft: Webseite und Inhalte sind ein Projekt. Wie das funktioniert, woher es kommt und wann Strapi oder WordPress besser passen, verständlich erklärt.

Kontakt und kostenlose Beratung

Hände tippen auf einer Laptop-Tastatur, daneben eine Tasse Kaffee
Telefon0208 78015410E-Mailinfo@akinware.com
Adresse
Huyssenstraße 6G, 46119 Oberhausen
Worum geht es