Individuelle Webanwendungen mit Blazor jetzt noch günstiger programmieren

Veröffentlicht am 31.03.2022

Blazor WebAssembly führt C#-Code im Browser aus

Vor ziemlich genau 20 Jahren hat Microsoft erstmals das .NET-Framework veröffentlicht und damit die Wünsche zahlreicher Entwickler erfüllt. Nun konnten sie endlich auch Webanwendungen mit Microsoft-Technologien entwickeln.

In der Zwischenzeit hat sich das .NET-Framework als eine der führenden Plattformen für die Entwicklung von Webanwendungen behauptet. Diese werden vorwiegend mit ASP.Net MVC und der Programmiersprache C# erstellt. Mit .NET Core unterstützt Microsoft neben Windows auch Linux und MacOS, also praktisch alle derzeit relevanten Betriebssysteme.

Am Prinzip einer Webanwendung hat sich lange Zeit kaum etwas geändert. Serverseitig wird eine Webseite in HTML erzeugt und ein Browser zeigt diese an (GET). Wenn der Benutzer Daten eingegeben hat und auf einen Button klickt, werden diese Daten an den Server gesendet (POST). Nur die Technologien, mit denen diese Webseiten erzeugt und variiert werden, haben sich kontinuierlich weiterentwickelt.

Außerdem gibt es schon seit vielen Jahren in zunehmendem Maße aktive Inhalte. Hierbei handelt es sich hauptsächlich um Programmcode, der clientseitig im Browser ausgeführt wird. Die führende Programmiersprache ist JavaScript mit dem Derivat TypeScript. Diese versetzen den Entwickler in die Lage, sogenannte single page applications (SPA) zu erstellen. Bei SPAs erfolgt der Datenaustausch mit dem Server über aktive Inhalte und zwar ohne, dass die aktuelle Webseite insgesamt neu geladen wird. Darüber hinaus können mit aktiven Inhalten auch Teile der Webseite ein- und ausgeblendet oder nahezu beliebig umgestaltet werden.

Moderne SPAs bieten mindestens genauso viel Komfort wie Desktop-Anwendungen und haben damit einen wesentlichen Beitrag zum Erfolg von Webanwendungen geleistet. Bis heute ist die Programmierung solcher Webanwendungen jedoch anspruchsvoll. Entwickler müssen nämlich zwei Programmiersprachen beherrschen, also z.B. C# und JavaScript.

Nur noch eine Programmiersprache nötig

Mit Blazor bietet Microsoft nun eine Technologie zur Programmierung aktiver Inhalte mit C# an. Damit lassen sich nun prinzipiell die gleichen Effekte wie mit JavaScript erzielen. Die Vorteile liegen auf der Hand: Der Programmierer braucht nur noch eine Programmiersprache zu kennen. Außerdem wird die Programmierung mit Visual Studio optimal unterstützt. Um bereits vorhandene JavaScript-Libraries weiter nutzen zu können, lassen sich diese in Blazor einbinden.

Die mit Blazor WebAssembly erzeugten Programme werden in sogenannten Intermediate Code (Zwischencode) übersetzt, der dann in der virtuellen Umgebung des Browsers in Webassembly-Code (eine Art Maschinencode) übersetzt und ausgeführt wird. Das Verfahren ist also ähnlich wie bei .NET-Programcode, der beispielsweise unter Windows oder Linux ausgeführt wird. Damit lassen sich grundsätzlich beliebige Programme innerhalb des Browsers ausführen. Aufgrund der Systemarchitektur gibt es aber – wie übrigens auch bei JavaScript – einige Einschränkungen. Die im Browser ausgeführten Programme werden aus Sicherheitsgründen in einer Sandbox ausgeführt und haben keinen Zugriff auf die lokalen Ressourcen des Clientsystems. Somit können diese Programme beispielsweise nicht auf angeschlossene Geräte wie Drucker und auch nicht auf die lokalen Festplatten zugreifen.

Komponentenorientierter Aufbau von Websites

Ein weiterer Vorteil von Blazor WebAssembly besteht in dem komponentenorientierten Aufbau von Web-Seiten. Jedes Element wird als Komponente betrachtet und kann über Datenbindungen mit den untergeordneten und übergeordneten Komponenten kommunizieren. Hierdurch ergeben sich hohe Produktivitätsvorteile bei der Programmierung, weil der Aufbau modular mit Hilfe von wiederverwendbaren Komponenten erfolgt.

Einheitliche Programmiersprache für alle Plattformen

Neben Blazor WebAssembly bietet Microsoft auch Blazor Server an.

Microsoft plant für die Zukunft noch weitere gewinnbringende Innovationen. So sollen sich in Zukunft mit Blazor auch Apps für Android und iOS sowie Desktop-Anwendungen für Windows entwickeln lassen. Dann verfügen wir endlich über eine einheitliche Entwicklungsumgebung und eine einheitliche Programmiersprache für alle Plattformen.

Mit Blazor wird die Programmierung moderner Webanwendungen erheblich vereinfacht. trinidat gibt die Ersparnisse im Rahmen der Entwicklung von individueller Software eins zu eins an ihre Kunden weiter. Damit kann Software günstiger werden. Oder die Einsparungen werden in bessere Features investiert und führen so zu noch besserer Software.