WebAssembly

WebAssembly

WebAssembly ist ein Format für Programme, das im Browser nahezu so schnell läuft wie Software, die direkt auf dem Betriebssystem installiert ist. Es ergänzt JavaScript und macht rechenintensive Anwendungen wie Videoschnitt, 3D-Spiele oder KI-Modelle direkt im Browser möglich.

Ein Browser versteht von Haus aus nur eine einzige Programmiersprache: JavaScript. JavaScript ist flexibel, aber für aufwändige Berechnungen oft zu langsam. WebAssembly ist ein zweites Format, das Browser seit 2017 verstehen. Es ist kein Ersatz für JavaScript, sondern eine Ergänzung für Aufgaben, bei denen Geschwindigkeit zählt. Programme in anderen Sprachen — etwa C++, Rust oder Python — lassen sich in WebAssembly übersetzen und dann im Browser ausführen. Das Ergebnis läuft deutlich schneller als vergleichbarer JavaScript-Code, weil der Browser weniger Arbeit bei der Umwandlung in Maschinencode hat.

WebAssembly als Türöffner für anspruchsvolle Browser-Anwendungen

Bisher musste man Software installieren, wenn sie rechenintensiv war. Videoschnitt, 3D-Simulationen oder das Ausführen eines KI-Modells waren im Browser kaum denkbar. WebAssembly verschiebt diese Grenze. Was früher eine Desktop-Anwendung erforderte, kann heute im Tab nebenan laufen.

Das hat einen praktischen Vorteil: Nutzer laden nichts herunter, installieren nichts und brauchen keine Administratorrechte. Die Anwendung öffnet sich wie eine Webseite. Für Entwickler bedeutet es, dass sie bestehenden Code in C++ oder Rust nicht neu schreiben müssen — sie übersetzen ihn einfach nach WebAssembly.

Sicherheit ist dabei kein nachträglicher Gedanke. WebAssembly läuft in derselben abgeschotteten Umgebung wie JavaScript — einer sogenannten Sandbox. Das Programm kann also nicht einfach auf Dateien deines Computers zugreifen, auch wenn es theoretisch die Leistung einer Desktop-App erreicht.

Vom Quellcode zur Wasm-Datei

WebAssembly ist kein Quellcode, den Entwickler direkt schreiben. Es ist ein Zielformat — ähnlich wie eine übersetzte Buchausgabe, die aus einem Original in einer anderen Sprache entstand. Ein Entwickler schreibt seinen Code zum Beispiel in Rust, und ein Übersetzer-Programm, der sogenannte Compiler, wandelt ihn in eine Wasm-Datei um. Diese Datei enthält Anweisungen in einem kompakten, binären Format.

Der Browser lädt diese Datei und übersetzt sie ein letztes Mal — diesmal in die konkreten Befehle, die der Prozessor des jeweiligen Geräts versteht. Dieser letzte Schritt geht sehr schnell, weil Wasm-Dateien bereits so aufgebaut sind, dass die Übersetzung kaum Aufwand erfordert. JavaScript hingegen muss der Browser erst analysieren, optimieren und dann übersetzen, was mehr Zeit kostet.

Ein häufiger Irrtum: WebAssembly ersetzt JavaScript nicht. Beide arbeiten im Browser zusammen. JavaScript übernimmt typischerweise die Benutzeroberfläche und die Logik der Seite. WebAssembly übernimmt den rechenintensiven Teil im Hintergrund — zum Beispiel das Dekodieren eines Videos oder das Berechnen einer Physik-Simulation.

WebAssembly in Produkten und Schlagzeilen

Adobe hat Photoshop als Browser-Version veröffentlicht. Der Kern der Bildbearbeitung läuft dabei in WebAssembly — dieselbe C++-Codebasis, die jahrzehntelang die Desktop-App antrieb, übersetzt für den Browser. Figma, ein Design-Werkzeug, das viele Schüler und Studenten kennen, nutzt WebAssembly ebenfalls für seine Rendering-Engine.

Im KI-Bereich taucht WebAssembly zunehmend auf, wenn es darum geht, kleine Modelle direkt im Browser laufen zu lassen, ohne dass Daten an einen Server gesendet werden müssen. Das ist datenschutzfreundlich und funktioniert sogar offline. Projekte wie MediaPipe von Google nutzen diesen Ansatz für Echtzeit-Gesichtserkennung oder Handtracking direkt in der Webcam-App.

Außerhalb des Browsers wächst WebAssembly ebenfalls. Unter dem Namen WASI — WebAssembly System Interface — läuft Wasm-Code auch auf Servern und eingebetteten Systemen. Der Vorteil ist derselbe wie im Browser: Ein einziges Wasm-Programm läuft auf jedem Betriebssystem, ohne Anpassungen. Das macht es zu einem ernsthaften Thema in der Cloud-Infrastruktur.

Související produkty

Aktuální zprávy

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.