It’s #FrontendFriday – Blazor: Entwicklung von Webapps in C# und HTML

29.01.2021

Ihr wolltet schon immer eine Webanwendung ohne JavaScript bauen? Mit Blazor wird der Traum für viele von euch wahr! Benutzeroberflächen in strukturierten, wiederverwendbaren Web-UI-Komponenten mit C#, ist für das Open-Source-Framework von Microsoft kein Problem.

Als erstes möchte ich an dieser Stelle Daniel Sufin danken. Daniel hat im Rahmen seiner halbjährigen Arbeit das Framework in der Praxis eingesetzt und den folgenden Beitrag erstellt.

Was ist Blazor?

Blazor ist ein von Microsoft entwickeltes Open-Source-Framework zur Entwicklung von Webapps in C# und HTML. Es wird hierbei zwischen „Blazor WASM“ (WebAssambly) und „Blazor Server“ unterschieden. Im Rahmen des WASM wird der Code im Browser ausgeführt und vorher heruntergeladen. „Blazor Server“ wiederum läuft auf einem Webserver, mit welchem der Browser über eine SignalR-Verbindung kommuniziert. Die Intension von Blazor ist es, JavaScript zu ersetzen. Aber ganz ohne JavaScript scheint es doch nicht zu gehen,  denn es besteht trotzdem die Möglichkeit, mit JavaScript Funktionen zu schreiben. Nichtdestotrotz ist mit reinem C#, HTML, Bootstrap sowie bereits vorhanden Packages ein ordentliches UI schnell implementiert.

Grundlegende Funktionen

Blazor funktioniert im Aufbau ähnlich wie Angular. Es können Komponenten erstellt und als HTML Selektoren wiederverwendet werden. Es stehen zudem Konstrukte wie If- sowie For-Statements und  verschiedene Bindings zur Verfügung. Mit einem „@“ können einfache C# Elemente definiert bzw. hinzugefügt werden. Das Rerendering wird in den meisten Fällen automatisch vorgenommen, aber es ist auch möglich, dies manuell zu erzwingen. Wie im Web üblich, ist es auch in Blazor möglich, direkt, z.B. über ein „onclick“, auf Events zu reagieren. Wichtig in diesem Zusammenhang ist das vorangestellte @-Zeichen. Zu den weiteren nützlichen Dingen zählen die bereits vorhandene Login-Page mit Registrierung sowie die Verwaltung von autorisierten Bereichen. Für das Letzte können „Authorized“ Tags genutzt werden, welche das Framework automatisch auswertet. Hierbei wird geprüft, ob der aktuelle Benutzer angemeldet ist oder eine bestimmte Rolle besitzt. Blazor verfügt insgesamt über ein sehr breites Repertoire an Funktionen und Features. Es wird jedoch an dieser Stelle bewusst verzichtet, jedes einzelne Feature aufzuzählen. Selbstverständlich hat Blazor auch seine Schwächen. Das Framework ist im Vergleich zu Angular auch ziemlich neu. Der größte Nachteil, den ich im Rahmen der Implementierung feststellen konnte, ist, dass das Framework keine Direkte DOM Manipulation bietet. Hier wird man als Entwickler zum Umdenken/Inspiration gezwungen.

Hat Blazor eine Zukunft?

Es hat definitiv ein großes Potenzial, das ist klar. Viele Dinge sind sehr simpel und es steckt noch regelrecht in den Kinderschuhen. In der Zukunft können wir von Blazor sicherlich viel erwarten. Und wie bei fast allen Dingen wird die Zeit zeigen, ob Blazer sich durchsetzt.

 

Mehr über Frontend Entwicklung erfahren

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*