Springe zum Inhalt

SoftEd Blog

In unserem SoftEd-Blog informieren wir Sie regelmäßig zu neuen Themen der Branche und Aktuellem aus Gesellschaft und Leben.

Blog abonnieren
Alles neu! Blazor – und was es kann 1
| | Magazin No 07, Development, Softwareentwicklung

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.

Kommentieren

Ihre E-Mail-Adresse wird nicht veröffentlicht.

14 + eins =