<EbeneX/>
Web Praxis · Updated 3. März 2026

WebAssembly

Definition

Ein binäres Instruktionsformat für den Browser, das es ermöglicht, Code in Sprachen wie C, C++, Rust oder Go mit nahezu nativer Geschwindigkeit im Browser auszuführen.

Experte 2 Min. Lesezeit EN: WebAssembly (WASM)

Einfach erklärt

JavaScript ist die einzige Sprache, die nativ im Browser läuft. Das ist gut für die meisten Aufgaben, aber für rechenintensive Operationen – Bildverarbeitung, Kryptographie, ML-Inferenz – ist JavaScript zu langsam.

WebAssembly löst das: Code in C, Rust oder Go wird zu einem kompakten Binärformat kompiliert, das der Browser direkt ausführen kann – mit nahezu nativer Geschwindigkeit. JavaScript bleibt für die Browser-Interaktion zuständig, WASM für die schwere Arbeit.

JavaScript vs. WebAssembly:

AspektJavaScriptWebAssembly
SpracheNur JS/TSC, C++, Rust, Go, …
PerformanceGutNahezu nativ
DOM-ZugriffDirektÜber JS-Bindings
DateigrößeKleinKompakt (binär)
Use CaseUI, LogikBerechnungen

Technischer Deep Dive

Rust nach WASM kompilieren

// src/lib.rs
use wasm_bindgen::prelude::*;

#[wasm_bindgen]
pub fn tokenize(text: &str) -> Vec<u32> {
    // Hochperformante Tokenisierung in Rust
    text.split_whitespace()
        .map(|word| hash_word(word))
        .collect()
}
wasm-pack build --target web

JavaScript-Integration

import init, { tokenize } from './pkg/tokenizer.js';

await init();  // WASM laden

const tokens = tokenize("Hello, World!");
console.log(tokens);  // [12345, 67890]

ML-Inferenz mit ONNX Runtime Web

import * as ort from 'onnxruntime-web';

const session = await ort.InferenceSession.create('./model.onnx');
const input = new ort.Tensor('float32', inputData, [1, 768]);
const output = await session.run({ input });

WebAssembly ist wie ein Universalstecker-Adapter: Du hast ein Gerät (C++, Rust, Go), das normalerweise nicht in eine europäische Steckdose (Browser) passt. WASM ist der Adapter, der es trotzdem ermöglicht – und das mit voller Leistung, nicht gedrosselt.

Läuft neben JavaScript im Browser – nicht als Ersatz, sondern Ergänzung

Kompiliert aus C, C++, Rust, Go und anderen Sprachen

Nahezu native Performance für rechenintensive Aufgaben

KI-Inferenz im Browser

Kleine ML-Modelle direkt im Browser ausführen – kein Server nötig, Daten verlassen das Gerät nicht

Bild- und Videoverarbeitung

Hochperformante Bildkomprimierung, Filter oder Codec-Implementierungen im Browser

Spiele und 3D

Game-Engines wie Unity exportieren nach WebAssembly für Browser-Spiele

Ersetzt WebAssembly JavaScript?

Nein. WASM und JavaScript ergänzen sich. JavaScript bleibt für DOM-Manipulation, Event-Handling und die meisten Web-Aufgaben. WASM übernimmt rechenintensive Teile: Bildverarbeitung, Kryptographie, Simulationen, ML-Inferenz. Typischerweise ruft JavaScript WASM-Funktionen auf.

Kann WebAssembly auf das DOM zugreifen?

Nicht direkt. WASM hat keinen nativen DOM-Zugriff – das muss über JavaScript-Bindings erfolgen. WASM ist für Berechnungen optimiert, JavaScript für Browser-Interaktion. Die Kommunikation zwischen beiden hat einen kleinen Overhead.

Was ist WASI?

WebAssembly System Interface – ein Standard, der WASM außerhalb des Browsers nutzbar macht (Server, Edge, CLI). WASI gibt WASM Zugriff auf Dateisystem, Netzwerk und andere Systemressourcen. Cloudflare Workers und Fastly Compute nutzen WASM+WASI für Edge Computing.

Dein persönliches Share-Bild für Instagram – 1080×1080px, bereit zum Posten.