WebAssembly-Programmierung mit ASP.NET Blazor

Seite 5: Fazit und Ausblick

Inhaltsverzeichnis

Dieser Artikel hat gezeigt, dass man bereits mit der aktuellen Version 0.3 von ASP.NET Blazor die wichtigsten Szenarien einer Single-Page-Application (Komponenten, Vorlagen, Datenbindung, Ereignisse, Routing) realisieren kann. Dennoch fehlen einige Möglichkeiten: Funktionen zur Benutzerverwaltung und Authentifizierung sind bisher nicht vorimplementiert und nicht, wie man von serverseitigen ASP.NET-Projekten kennt, beim Anlegen eines Projekts generierbar. Geplant sind auch zahlreiche Features rund um Formulare und Validierung. Ältere Browser wie der Internet Explorer, die kein WASM unterstützen, sollen Blazor über eine Emulation via asm.js ausführen können. Die gravierendste Schwäche von Blazor ist jedoch, dass es bisher kein Debugging gibt. Microsoft arbeitet aber daran. Außerdem gibt es noch keine offizielle Dokumentation, sondern nur den in C# und TypeScript geschriebenen Quellcode auf Github. Die von Rainer Stropek betriebene Website Learn-Blazor schließt aber diese Dokumentationslücke.

Microsoft spricht bei dem Blazor-Projekt selbst noch von "experimentell" und "Pre-Alpha". Eine echte Webanwendung sollte man damit also noch nicht implementieren. Wenn es Microsoft gelingt, Blazor so komfortabel und performant wie das Server Side Rendering (SSR) mit ASP.NET Core MVC und ASP.NET Core Razor Pages zu machen, könnte Blazor in den kommenden Monaten für die bestehende .NET-Entwicklergemeinde eine echte Alternative zur SPA-Entwicklung mit JavaScript/TypeScript werden. Softwareentwickler aus der .NET-Welt könnten dann auf dem Client die gleiche Programmiersprache und die gleiche Template-Syntax wie auf dem Webserver verwenden und nicht nur ihr Know-how, sondern auch Softwarebibliotheken als "Shared Library" in Server und Client gleichzeitig einzusetzen.

Die Gefahr, dass Microsoft wie bei Silverlight daran scheitert, dass das Browser-Plug-in nicht ausreichende Verbreitung findet, ist hier nicht gegeben, denn man braucht kein Plug-in. Blazor basiert auf dem Webassembly-Standard, der gerade auch in anderen Hochsprachen wie C, C++, Go und Rust immer besser unterstützt wird.

Holger Schwichtenberg
leitet das Expertennetzwerk www.IT-Visions.de, das Beratung, Schulungen und Softwareentwicklung im Umfeld von Microsoft-, Java- und Web-Techniken anbietet. Er selbst schreibt Software in C# und JavaScript/TypeScript, hält Vorträge auf Fachkonferenzen und ist Autor zahlreicher Fachbücher.
(bbo)