Rainer Stropek Microsoft Azure

Ich persönlich bin begeistert und hoffe, dass Blazor vielen .NET-Entwicklungsteams eine Zukunftsperspektive für ein UI im Browser bietet, die einfacher zu erreichen ist, als ein Wechsel in die Welt von JavaScript, TypeScript, Angular, React & Co.

Zugegeben, Silverlight ist tot. Die Idee, C# und .NET in den Browser zu bringen, ist aber keineswegs gestorben. Microsofts neues Single-Page-App-Framework Blazor nimmt den Gedanken wieder auf. Es basiert auf WebAssembly, einem plattformunabhängigen W3CStandard, der von allen großen Browserherstellern bereits unterstützt wird. Für viele .NETEntwicklungsteams ist es eine sehr interessante Perspektive, bestehenden Code und bestehendes Wissen in die Browserwelt mitnehmen zu können – und das ohne Plug-in und auf allen Plattformen.

In meiner letzten Kolumne habe ich das neue Blazor-Framework von Microsoft kurz vorgestellt. In diesem Artikel sehen wir uns den aktuellen Stand der Entwicklung genauer an. Bisher hatte JavaScript ein Monopol im Bereich clientseitiger Webentwicklung. Als Entwicklerinnen und Entwickler konnten wir zwar auf eine Vielzahl an Frameworks und Sprachen wie Angular, React oder TypeScript zurückgreifen, letztendlich lief es aber immer auf JavaScript hinaus.

WebAssembly verändert die Spielregeln

WebAssembly (kurz Wasm) ändert die Spielregeln im Browser von Grund auf. Wasm ist ein standardisiertes, portables Binärformat für eine virtuelle Maschine. Grundsätzlich könnte Wasm überall laufen, im Augenblick liegt der Fokus aber auf der Ausführung von Wasm-Code im Browser. Alle großen Browser (Edge, Chrome, Firefox und Safari) implementieren Wasm bereits. Das bedeutet, dass Programme, die dem Wasm-Standard entsprechen, ohne Plug-in in diesen Browsern laufen und durch die Browser-Sandbox abgesichert sind. C++ kann in Wasm übersetzt werden, die .NET Common Language Runtime (CLR) ist in C++ programmiert, warum also nicht die CLR in Wasm ausführen? Genau diesen Gedanken hatte 2017 das Mono-Team. Das Ergebnis war ein erster Prototyp der Mono .NET CLR auf Wasm.

Die Rolle von Blazor

Die CLR allein ist nur für sehr wenige Anwendungsfälle relevant. Es fehlt eine Benutzerschnittstelle. Wasm kann Das neue Single-Page-App-Framework bringt C# in den Browser in der aktuellen Version nicht direkt auf das DOM zugreifen. Die einzige Kommunikation mit der Außenwelt, die Wasm beherrscht, ist JavaScript Interop. Man kann von Wasm JavaScript-Funktionen aufrufen und umgekehrt. Außerdem können Wasm und JavaScript auf gemeinsame Speicherbereiche zugreifen, um Daten auszutauschen.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Windows Developer 7.18 - ".NET ohne Grenzen"

Alle Infos zum Heft
579844581Blazor: Das neue Framework bringt C# in den Browser
X
- Gib Deinen Standort ein -
- or -