Spring GDS 25. Jubiläum
Ein Logistikunternehmen, das in 190 Länder versendet, hat etwas gebaut, um an sich selbst zu liefern.
WebAssembly ist ein binäres Instruktionsformat, das im Browser nahezu mit nativer Geschwindigkeit läuft. In C, C++, Rust oder Go geschriebener Code wird zu einem kompakten WASM-Modul kompiliert, und der Browser führt es in derselben Sandbox aus, die JavaScript betreibt. Die beiden arbeiten Seite an Seite. JavaScript übernimmt das DOM und den Klebstoff, WASM übernimmt die schwere Berechnung.
Der Grund, warum es das gibt, ist Geschwindigkeit. JavaScript ist für die meiste Oberflächenarbeit schnell genug, kämpft aber mit allem CPU-Lastigen: Videokodierung, 3D-Rendering, Physik, Kryptografie, großflächiges Daten-Parsing. WASM liefert vorkompilierten Bytecode, den die Engine validieren und ausführen kann, ohne den Parse-und-Optimier-Zyklus, den JavaScript durchläuft. Figmas Design-Editor verlagerte seinen Rendering-Kern vor Jahren auf WebAssembly, was ein Grund ist, warum ein Browser-Tab Pixel wie eine Desktop-App schieben kann.
WASM ist kein Ersatz für JavaScript und berührt das DOM nicht von allein. Es läuft in einer speichersicheren Sandbox, spricht über eine JavaScript-Brücke mit der Seite und glänzt, wenn es echtes Zahlenrechnen zu tun gibt. Für eine normale Marketing-Site fügt es Komplexität hinzu, die Sie nicht brauchen. Für ein CAD-Werkzeug, ein Spiel oder eine Audio-Workstation im Browser verändert es, was möglich ist.
Wir greifen zu WebAssembly, wenn der Browser an eine Wand stößt. Ein Kunde kam mit einem Konfigurator zu uns, der Tausende Geometrie-Updates in Echtzeit rendern und neu berechnen musste, und reines JavaScript konnte die Bildrate nicht stabil halten. Wir verlagerten die Mathematik in ein zu WASM kompiliertes Rust-Modul und ließen die UI im bestehenden Stack. Die Interaktion ging von stockend zu flüssig, auf derselben Hardware.
Der Großteil unserer Webentwicklung braucht es nie, und das sagen wir. WASM verdient seinen Platz, wenn echte Berechnung im Spiel ist, nicht weil es modern klingt. Wenn es passt, behandeln wir es als ein Werkzeug innerhalb einer größeren individuellen Webanwendung, sorgfältig an die JavaScript-Schicht verdrahtet und an echten Performance-Budgets gemessen statt an Benchmarks, die auf einer Folie gut aussehen.
Schieben Sie Arbeit in den Browser, die JavaScript nicht tragen kann? Schauen wir es uns gemeinsam an.
Ein Logistikunternehmen, das in 190 Länder versendet, hat etwas gebaut, um an sich selbst zu liefern.
Eine Marke in ein funktionierendes Geschäft verwandeln.
Eine halbe Million Menschen. Eine App. Null Chaos.















