Blazor von Grund auf: Eine neue Serie

· 3 Min. Lesezeit

Ich schreibe schon eine Weile über Blazor — Komponenten-Lebenszyklen, isoliertes CSS, Interaktivitätsmodelle, Authentifizierung. Diese Beiträge waren für sich genommen nützlich, aber mir hat immer das Fundament gefehlt. Sie setzen voraus, dass du bereits weißt, was Blazor ist, warum es existiert und wie es in das breitere .NET-Ökosystem passt. Das weiß nicht jeder, und das ist vollkommen in Ordnung.

Deshalb starte ich etwas Neues: Blazor von Grund auf. Eine richtige Serie, von Anfang an aufgebaut, für Entwickler gedacht, die wirklich verstehen wollen, was sie bauen — nicht nur so lange kopieren und einfügen, bis es irgendwie funktioniert.

Für wen ist diese Serie

Diese Serie ist für dich, wenn du:

  • ein .NET-Entwickler bist, der von Blazor gehört hat, aber nie den richtigen Moment oder Einstiegspunkt gefunden hat, um tiefer einzutauchen.
  • Blazor ausprobiert hast, es zum Laufen gebracht hast, aber das Gefühl hast, dass du ratst, warum Dinge funktionieren.
  • aus dem JavaScript/React/Angular-Umfeld kommst und verstehen willst, wie Microsofts Antwort auf das moderne Frontend aussieht.
  • eine einzige, kohärente Ressource statt verstreuter Docs und Blogbeiträge möchtest.

Du musst kein Senior-Entwickler sein. Du solltest allerdings mit den C#-Grundlagen vertraut sein — Klassen, Interfaces, async/await. Wenn du eine einfache CRUD-API in ASP.NET Core schreiben kannst, bist du bereit.

Was wir abdecken werden

Hier ist eine grobe Roadmap des Geplanten. Einige Themen werden bei Bedarf auf mehrere Beiträge aufgeteilt:

  1. Was ist Blazor? — Hosting-Modelle, Geschichte, Vergleich mit klassischer Webentwicklung
  2. Deine erste Blazor-App — Scaffolding, Projektstruktur, lokales Ausführen
  3. Komponenten — Der Baustein jeder Blazor-Benutzeroberfläche
  4. Datenbindung und Ereignisse — Deine Benutzeroberfläche reaktiv machen
  5. Komponentenkommunikation — Parameter, EventCallbacks, kaskadierende Werte
  6. Routing und Navigation — Wie Blazor URLs und Seitenübergänge behandelt
  7. Dependency Injection — Services, Scopes und der DI-Container in Blazor
  8. Formulare und Validierung — EditForm, DataAnnotations, benutzerdefinierte Validatoren
  9. HTTP und externe Daten — APIs aus deiner Blazor-App aufrufen
  10. Authentifizierung und Autorisierung — Deine App richtig absichern
  11. JavaScript-Interop — Wenn du den Browser direkt ansprechen musst
  12. Performance und Optimierung — Virtualisierung, Lazy Loading, Render-Strategien
  13. Blazor-Komponenten testen — bUnit und wie ein solider Test aussieht
  14. Deployment — Veröffentlichen auf Azure, IIS und statischen Hosts

Diese Liste wird sich weiterentwickeln. Manche Themen werden auf mehrere Beiträge aufgeteilt; andere könnten zusammengeführt werden. Ich werde diesen Beitrag aktualisieren und Links zu den einzelnen Einträgen hinzufügen, sobald sie veröffentlicht werden.

Warum eine Serie, warum jetzt

Blazor hat sich stark weiterentwickelt. Mit .NET 8 und 9 wurde das Rendering-Modell grundlegend überarbeitet — statisches SSR, Streaming Rendering, interaktives Server, interaktives WebAssembly und der Auto-Modus existieren nun alle unter einem Dach. Es ist ein wirklich interessantes und leistungsfähiges Framework, aber die gestiegene Komplexität macht den Einstieg oft verwirrend.

Ich möchte eine Ressource aufbauen, die dich dort abholt, wo du bist, und dich systematisch durch das gesamte Thema führt. Kein Ersatz für die offizielle Dokumentation — die ist gut und du solltest sie lesen — sondern ein Begleiter, der das Warum hinter dem Was erklärt.

Wie du der Serie folgen kannst

Jeder Beitrag der Serie ist eigenständig genug, um für sich gelesen zu werden, aber sie bauen auch aufeinander auf. Wenn du von vorne anfängst, empfehle ich, die Reihenfolge einzuhalten. Wenn du einsteigst, um eine bestimmte Lücke zu füllen, ist das auch in Ordnung — ich verlinke auf vorausgesetzte Beiträge, wo es wichtig ist.

Der Code zu jedem Beitrag wird auf GitHub verfügbar sein. Ich teile die Links im Laufe der Zeit.

Bis zum nächsten Beitrag.