Alles neu. Blazor – und was es kann

„Zeit zum Lernen“ – Unter diesem Motto haben wir die ersten Wochen der Corona-Zeit gestaltet. Unsere Präsenztrainings für Entwickler dürfen wir nicht durchführen. Also wurde die Zeit genutzt, um sich endlich mal neue Tools und Frameworks näher anzuschauen und zu testen, was die „Neuen“ alles können.

Was steckt hinter dem Hype um Blazor?

Laut Definition ist Blazor ein ASP.NET Core Framework zum Entwickeln von Webanwendungen. OK, denke ich, als ob es davon nicht schon genug gäbe. Kein Mensch sieht mehr durch in der Fülle von .NET Frameworks: Web Forms, MVC 3, 4, 5 (und jede Version ist anders als ihr Vorgänger), Web API, Razor Pages… und jetzt also noch eins mehr.

Doch Halt, ich stutze, als ich mir die Wortschöpfung näher anschaue: Blazor = Browser + Razor.

Da steht etwas von Browser. Das heißt, eine Blazor App läuft im Browser? Ja, aber nur, wenn es sich um eine sogenannte Blazor WebAssembly App handelt. Daneben gibt es noch die Blazor Server App – und die läuft, wie der Name unschwer vermuten lässt, auf dem Webserver. Und nun wird es wirklich interessant. Eine .NET Anwendung, die im Browser läuft? Das heißt, ich muss Webclients nicht mehr zwangsläufig mit Javascript programmieren, sondern kann mein geliebtes C# dafür benutzen? Richtig, dank WebAssembly ist das möglich.

Danke, WebAssembly!

WebAssembly ist ein offener Web Standard in der Obhut des W3C und wird von allen modernen Webbrowsern unterstützt. WebAssembly ist ein Bytecode, der in einer kleinen virtuellen Maschine im Browser gestartet wird. Also ziemlich nah dran an Maschinencode und daher deutlich schneller in der Ausführung als Javascript.

Und nun zurück zu .NET: Es gibt eine Mono Implementierung in WebAssembly, also eine .NET Laufzeitumgebung, die in jedem modernen Browser läuft. Die Mono Implementierung wird sicher in absehbarer Zeit von einer .NET Core und später von einer .NET 5 Implementierung abgelöst werden. Microsoft arbeitet ja sehr intensiv an einer Vereinheitlichung der verschiedenen .NET Laufzeitumgebungen.

Blazor WebAssembly gibt es derzeit nur in einer Preview Version (Release ist schon für Mai 2020 geplant!). Aber man kann bereits jetzt sehr gut damit arbeiten.

Wo lohnt sich der Einsatz?

Einsatzzwecke gibt es reichlich. Und zwar alle Anwendungen mit viel Nutzerinteraktion, die im Webbrowser laufen sollen statt auf dem Endgerät installiert werden zu müssen. Ich persönlich habe mich für die Entwicklung solcher Anwendungen eigentlich mit Angular angefreundet, das immerhin Typescript nutzt und somit eine gewisse C#-Affinität besitzt. Aber im Browser kommt auch eine Angular App letztlich als Javascript an. Diese ist WebAssembly, was die Größe der herunterzuladenden Dateien und vor allem die Performance betrifft, deutlich unterlegen. Schließlich sei noch gesagt: Alle Vorteile, die Angular bietet (Single Page Application, MVVM, Komponenten), treffen genauso auch für Blazor zu.

Wie sieht eine Blazor WebAssembly App aus?

Um eine Vorstellung davon zu vermitteln, wie eine Blazor WebAssembly App aussieht, hier noch ein Codeschnipsel aus einer .razor Datei, die die Dauer der Corona-Krise anzeigt:

Blazor Codeschnipsel
Auszug aus einer .razor Datei

Mein Fazit

Wer leistungsstarke Browser Web Apps entwickeln möchte, sich mit HTML und CSS auskennt und C# mag, kommt um Blazor nicht herum! Obwohl noch im Preview Status, ist bereits jetzt abzusehen, dass Blazor keine Microsoft Eintagsfliege, sondern eine richtig coole Technologie mit Zukunft ist. Auf Morgen!

Tipp für Entwickler: Blazor Training

Ab sofort gibt es ein spezielles Training zu Microsoft Blazor. Hier gibt es die aktuellen Infos & Termine.

Cookie-Einstellungen

Wir nutzen Cookies, um Ihr Nutzererlebnis bei SoftEd Systems zu verbessern. Manche Cookies sind notwendig, damit unsere Website funktioniert. Mit anderen Cookies können wir die Zugriffe auf die Webseite analysieren.

Mit einem Klick auf "Zustimmen" akzeptieren sie diese Verarbeitung und auch die Weitergabe Ihrer Daten an Drittanbieter. Die Daten werden für Analysen genutzt. Weitere Informationen, auch zur Datenverarbeitung durch Drittanbieter, finden Sie in unseren Datenschutzhinweisen. Sie können die Verwendung von Cookies ablehnen.

Zustimmen