© Liashko/Shutterstock.com
Entwickler Magazin
Interview mit Rainer Stropek

„Blazor ist das, was Nerds wie ich lieben!“

WebAssembly ist derzeit ein wichtiges Thema, das auch in der Microsoft-Welt angekommen ist. Mit Blazor arbeitet man dort an einem .NET-Web-Framework für C#, das auf WebAssembly aufsetzt. Im Interview haben wir mit Rainer Stropek darüber gesprochen, wohin sich die Web-Tech-Welt unter dem Einfluss von WebAssembly entwickelt und welche Möglichkeiten Blazor Entwicklern bietet.

Rainer Stropek


Entwickler Magazin: Hallo Rainer, erklär doch zum Einstieg kurz, was WebAssembly überhaupt ist. Rainer Stropek: Ja, sehr gerne. In der Vergangenheit war es so, dass es eigentlich nur eine Option gab, wenn man Code im Browser ausführen wollte. Das war JavaScript. JavaScript funktioniert wunderbar für manche Arten von Anwendungen. Aber für Anwendungen, die höchste Performanceansprüche stellen, wie beispielsweise CAD-Anwendungen, Spiele oder solche Dinge, braucht man mehr Performance. Hier braucht man Leistung, die nahe an die der Maschinensprache rangeht, also eine native Performance. WebAssembly ist der Versuch, genau diese native Performance zu bieten, ohne auf die Sicherheit der Browser-Sandbox verzichten zu müssen. Es ist also ein binärer Standard für eine virtuelle Maschine innerhalb des Browsers. Ich kann C, C++, Rust oder ähnlichen Code in WebAssembly kompilieren, statt in plattformabhängige Maschinensprache. Der WebAssembly-Code wird dann vom Browser heruntergeladen. Da es sehr low-level ist, wird es relativ leicht in Maschinensprache übersetzt und läuft mit nahezu nativer Performance. Daher eignet es sich hervorragend für Applikationen, die genau das brauchen: viel Performance innerhalb des Browsers.EM: Man liest gelegentlich, dass WebAssembly dazu geeignet sei, JavaScript im Web abzulösen. Trifft das zu?Stropek: Irgendwann in der Zukunft mag es vielleicht so kommen. Im Moment sind wir aber wirklich sehr weit davon entfernt. Ein Beispiel: WebAssembly kann nicht mit dem UI interagieren und das DOM nicht verändern. WebAssembly-Code kann keinen Pixel auf den Bildschirm malen – der Code selbst ist ziemlich sinnlos. Das heißt, dass WebAssembly eine Art Übersetzer braucht, um mit der Außenwelt zu kommunizieren. Und genau da kommt JavaScript ins Spiel.WebAssembly kann JavaScript-Funktionen aufrufen, und diese JavaScript-Funktionen sind es dann, die nach außen hin kommunizieren, also einen Web Request absetzen oder das DOM verändern und Ähnliches. Insofern geht es um eine Zusammenarbeit zwischen JavaScript und WebAssembly. WebAssembly ist im Moment kein JavaScript-Killer. Es ist allerding schon so, dass WebAssembly die Tür öffnet für neue Programmiersprachen im Browser. Ich sagte schon: C, C++, Rust und Co. kann ich jetzt plötzlich im Browser ausführen. Das heißt, dass das Monopol von JavaScript im Browser schon bis zu einem gewissen Grad gebrochen ist. Insofern drängt WebAssembly JavaScript derzeit ein wenig zurück, aber von einer Ablöse kann man aus me...

Entwickler Magazin
Interview mit Rainer Stropek

„Blazor ist das, was Nerds wie ich lieben!“

WebAssembly ist derzeit ein wichtiges Thema, das auch in der Microsoft-Welt angekommen ist. Mit Blazor arbeitet man dort an einem .NET-Web-Framework für C#, das auf WebAssembly aufsetzt. Im Interview haben wir mit Rainer Stropek darüber gesprochen, wohin sich die Web-Tech-Welt unter dem Einfluss von WebAssembly entwickelt und welche Möglichkeiten Blazor Entwicklern bietet.

Rainer Stropek


Entwickler Magazin: Hallo Rainer, erklär doch zum Einstieg kurz, was WebAssembly überhaupt ist. Rainer Stropek: Ja, sehr gerne. In der Vergangenheit war es so, dass es eigentlich nur eine Option gab, wenn man Code im Browser ausführen wollte. Das war JavaScript. JavaScript funktioniert wunderbar für manche Arten von Anwendungen. Aber für Anwendungen, die höchste Performanceansprüche stellen, wie beispielsweise CAD-Anwendungen, Spiele oder solche Dinge, braucht man mehr Performance. Hier braucht man Leistung, die nahe an die der Maschinensprache rangeht, also eine native Performance. WebAssembly ist der Versuch, genau diese native Performance zu bieten, ohne auf die Sicherheit der Browser-Sandbox verzichten zu müssen. Es ist also ein binärer Standard für eine virtuelle Maschine innerhalb des Browsers. Ich kann C, C++, Rust oder ähnlichen Code in WebAssembly kompilieren, statt in plattformabhängige Maschinensprache. Der WebAssembly-Code wird dann vom Browser heruntergeladen. Da es sehr low-level ist, wird es relativ leicht in Maschinensprache übersetzt und läuft mit nahezu nativer Performance. Daher eignet es sich hervorragend für Applikationen, die genau das brauchen: viel Performance innerhalb des Browsers.EM: Man liest gelegentlich, dass WebAssembly dazu geeignet sei, JavaScript im Web abzulösen. Trifft das zu?Stropek: Irgendwann in der Zukunft mag es vielleicht so kommen. Im Moment sind wir aber wirklich sehr weit davon entfernt. Ein Beispiel: WebAssembly kann nicht mit dem UI interagieren und das DOM nicht verändern. WebAssembly-Code kann keinen Pixel auf den Bildschirm malen – der Code selbst ist ziemlich sinnlos. Das heißt, dass WebAssembly eine Art Übersetzer braucht, um mit der Außenwelt zu kommunizieren. Und genau da kommt JavaScript ins Spiel.WebAssembly kann JavaScript-Funktionen aufrufen, und diese JavaScript-Funktionen sind es dann, die nach außen hin kommunizieren, also einen Web Request absetzen oder das DOM verändern und Ähnliches. Insofern geht es um eine Zusammenarbeit zwischen JavaScript und WebAssembly. WebAssembly ist im Moment kein JavaScript-Killer. Es ist allerding schon so, dass WebAssembly die Tür öffnet für neue Programmiersprachen im Browser. Ich sagte schon: C, C++, Rust und Co. kann ich jetzt plötzlich im Browser ausführen. Das heißt, dass das Monopol von JavaScript im Browser schon bis zu einem gewissen Grad gebrochen ist. Insofern drängt WebAssembly JavaScript derzeit ein wenig zurück, aber von einer Ablöse kann man aus me...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang