WebAssembly: bijna native snelheid in de browser en daarbuiten
WebAssembly (WASM) is een binair instructieformaat dat in alle grote browsers en op de server met bijna native snelheid wordt uitgevoerd. Het is geen vervanging voor JavaScript, maar een compilatiedoel voor C, C++, Rust en andere talen. Zo kun je rekenintensieve workloads naar het web brengen zonder ze opnieuw te schrijven. Dit leertraject behandelt de volledige WASM-ontwikkelstack, van het schrijven van je eerste module tot het bouwen van veilige toepassingen met meerdere threads die in browsers, op edge-runtimes en via WASI op de server draaien.
Wat je leert
Je begint met het binaire formaat en de kernconcepten en integreert daarna vanuit C/C++ en Rust gecompileerde WASM-modules in webtoepassingen. Het leertraject behandelt geheugenindeling en handmatig gegevensbeheer, performante grafische pijplijnen met WebAssembly en patronen voor implementatie op de server en aan de edge. In latere cursussen komen optimalisatie voor maximale prestaties, de WebAssembly System Interface (WASI), concurrency en multithreading met gedeeld geheugen en Atomics, geavanceerde interoperabiliteit tussen JavaScript en WASM en het aanscherpen van de beveiliging aan bod.
Het leerpad
Twaalf cursussen lopen van A1 tot en met C2. Het leertraject begint met Introduction to WebAssembly Fundamentals en gaat daarna verder met praktische modules op B1-niveau over integratie met C/C++ en Rust. Op B2-niveau verdiep je je in geheugenbeheer, grafische toepassingen en WASM aan de serverzijde. Vijf C1-cursussen behandelen optimalisatie, WASI, multithreading, interoperabiliteitspatronen en beveiliging. Het leertraject eindigt op C2-niveau met The Future of WebAssembly & Advanced Topics, over nieuwe voorstellen en architectuurkeuzes voor productieomgevingen.
Zo werkt het
Elke cursus bestaat uit korte, praktische lessen die je in de ingebouwde editor maakt, met realtime feedback. Er is een AI-tutor beschikbaar wanneer je vastloopt. De eerste cursus is gratis, zodat je het materiaal kunt beoordelen voordat je aan het volledige leertraject begint.