Sie sind hier: Wissen
Begriff Blazor WebAssembly
Abkürzung Blazor WASM
Eintrag zuletzt aktualisiert am 19.02.2025

 Zur Stichwortliste unseres Lexikons

Was ist Blazor WebAssembly ?

Blazor WebAssembly (Blazor WASM) ist die Variante von Blazor, die auf Basis von WebAssembly läuft.
Alias: "Client Side Blazor"
Alias: "Blazor Client Side Rendering"

Bei Blazor Webassembly läuft der .NET-Programmcode im Webbrowser auf Basis der Mono-Runtime.

Zwei Ausführungswege

1. Der .NET-Programmcode liegt im Browser in MSIL vor, die Mono-Runtime in Webassembly (WASM) interpretiert das MSIL.
2. Ahead-of-Time-Kompilierung von MSIL nach WASM zur Entwicklungszeit. Der Browser erhält WASM-Bytecode.

Herausforderungen von Blazor Webassembly

Blazor Webassembly hat (genau wie Blazor Server) auch seine Herausforderungen, denn man muss zu Beginn nicht nur die selbstentwickelte Anwendung, sondern auch die .NET-Laufzeitumgebung inklusive Garbage Collector, ggf. auch noch einen Interpreter von Intermediate Language (IL) zu WebAssembly Bytecode sowie die Basisklassen in den Browser laden. Trotz Trimming (Tree Shaking) und aller implementierten Optimierungen: Das dauert zu lang für Gelegenheitsnutzer aus dem öffentlichen Internet, denn diese haben keine Geduld mehrere Sekunden auf die erste Seite einer Webanwendung zu warten. Es gibt zwar auch eine AOT-Kompilierung, aber die lässt tatsächlich das Deployment noch größer werden, denn der WebAssembly Bytecode ist weniger mächtig als Microsoft Intermediate Language, was mehr Befehle erfordert und auch gewisse Metadaten müssen trotzdem gesendet werden, damit .NET funktionieren kann. Blazor WebAssembly im AOT-Modus läuft aber nach dem Start schneller als die Interpretervariante.

Eigenschaften von Blazor WebAssembly

  • Hersteller: Microsoft
  • Die erste stabile Version von Blazor WASM ist am 19.5.2020 erschienen als Nachtrag zu .NET Core 3.1 erschienen
  • Modernem .NET SDK, modernen .NET-Klassenbibliothek und Mono Runtime
  • Ausführung per WebAssembly im Browser
  • Ausführung in Sandbox des Browsers
  • Ist ein echtes, offline-fähiges Single-Page-Web-Application (SPA) Framework
  • Anwendung läuft wirklich im Browser, ohne Plugin, ohne Transpilation!
  • Open Source [github.com/aspnet/Blazor]
  • Programmierung in C# und Razor-Template-Syntax
  • Virtual DOM/Spiegel-DOM zwischen WASM<->JavaScript
  • Benutzeroberflächenbeschreibung in HTML und CSS (nicht XAML!)
  • Kann, aber muss nicht mit ASP.NET Core auf Server eingesetzt werden
  • Muss zu Beginn viel in den Browser laden
  • Ist weniger performant in der Codeausführung als JavaScript-basierte Webframeworks

Alternativen zu Blazor WebAssembly

Beratung & Support

Schulungen zu diesem Thema

 Anfrage für eine individuelle Schulung zum Thema Blazor WebAssembly Blazor WASM  Gesamter Schulungsthemenkatalog