News

Konkurrenz für JavaScript? W3C erklärt Web Assembly zum Web-Standard

Das W3C erklärt Web Assembly zum Web-Standard (Bild: Dominik Bruhn/Shutterstock)

Das World Wide Web Consortium kürte die Web-Assembly-Core-Spezifikation neben HTML, CSS und JavaScript unlängst zum offiziellen Web-Standard. Das steckt dahinter.

Die Sprache des Webs heißt JavaScript – und wird ergänzt durch HTML und CSS. Mithilfe von Web Assembly lassen sich aber auch in performanteren Sprachen geschriebene Anwendungen im Browser deployen. Grund genug für das World Wide Web Consortium, das Format jetzt zum Standard zu erklären.

Was ist das W3C?

Hinter der Abkürzung W3C steckt das „World Wide Web Consortium“ – ein Ausschuss, der sich für standardisierte Technologien für Nutzung und Entwicklung des Internets einsetzt. Das Gremium wurde 1994 am MIT in Cambridge gegründet. Die Zielsetzung: Einheitliche technologische Spezifikationen und Richtlinien für die Entwicklung von Technologien im WWW zu schaffen, um so „die Grundidee des Internets“ zu wahren.

Was steckt dahinter?

Im Kern ist Web Assembly eine virtuelle Instruction-Set-Architektur, die hochperformante Anwendungen im Web und einer Reihe anderer Umgebungen ermöglicht. Web Assembly erweitert die Bandbreite dessen, was im Web deployed werden kann. Hochperformante Web-Applikationen gewinnen im Hinblick auf die zunehmende Verbreitung von AI und Machine Learning immer mehr an Bedeutung, so der W3C-Projektleiter Philippe Le Hégaret im zugehörigen Blogpost.

Web Assembly ist ein binäres Befehlsformat für eine stack-basierte VM. Es dient als portables Target für die Kompilation so performanter Sprachen wie Rust, C oder C++. Der neu ernannte Standard ermöglicht es, in Rust, C oder C++ geschriebene Applikationen in modernen Prozessoren und Web-Browsern zu deployen.

Anders gesagt: Web Assembly bietet einen Weg, um quasi-Maschinencode im Browser laufen zu lassen. Damit könnt ihr Applikationen bauen, die sehr viel perfomanter sind, als es mit JavaScript möglich ist. Die Adblocker-Funktionalität des Brave-Browsers etwa wurde mit Web Assembly in Rust implementiert und ist damit – laut Brave-Blog – ganze 69 Mal schneller als vorher. Große in-Browser-Apps wie zum Beispiel Figma oder Spiele können mithilfe von Web Assembly im Browser lauffähig gemacht werden.

Mehr Performanz bei optimierten Ladezeiten

Web Assembly ist quasi Virtual Machine und Ausführungsumgebung in einem. So können geladene Pages als nativ kompilierter Code ausgeführt werden. Damit einher gehen eine fast-native Performanz, optimierte Ladezeiten und, dass WASM – kurz für Web Assembly – ein Kompilierungs-Target für bereits existenten Code stellt.

Obwohl JavaScript nur über eine relativ geringe Anzahl nativer Typen verfügt, läuft vieles, was in JS mit Performanz zusammenhängt, über die Nutzung konsistenter Typisierung, was das Ganze ab einem gewissen Punkt einfach in seine Schranken weist. Web Assemblys Bytecode ist auf Kompaktheit und Streaming optimiert, sodass eine Page ausgeführt werden kann, während der Rest des Codes noch geladen wird. Zugriffe auf Netzwerke und API erfolgen über zugehörige JavaScript-Bibliotheken. Das Security-Modell in Web Assembly ist identisch zu dem von JavaScript.

Das soll die Zukunft bringen

Der W3C-Blog kündigt zudem einige interessante Features für zukünftige Versionen an, an denen bereits geschrieben wird. In Arbeit sind Threads, Fixed Width SIMD, Referenztypen, Tailcalls und eine ECMAScript-Modulintegration, die es erlaubt, Web-Assembly-Ausführungsdateien als ES6-Module zu laden.

Längerfristig sind ein Garbage-Collection-Modul, Debugging-Interfaces oder ein System-Interface für das Format – genannt WASI, das eine Sammlung von Modulen für Low-Level-Systemfunktionalitäten wie Datei- und Netzwerkzugriff darstellt – geplant.

Zum Weiterlesen: 

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Ein Kommentar
Peter

Also im Umfeld von deploy & target liest sich performanz sehr sehr schräg …

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung