WebAssembly: The Path to Components

In 2019, the WASI standardization effort was started in the WebAssembly CG as a way to bootstrap an ecosystem of safe, portable WebAssembly modules running outside (or inside) the browser. The starting point of the design, captured in WASI “Preview1“, included tried-and-true POSIX concepts like files and directories. However, as the standards group worked to realize high-level goals including language neutrality, low-latency startup, low-overhead virtualization, heterogeneous host environments, fine-grained sandboxing and robust composition of programs from modules, the approach of mapping classic POSIX concepts into WebAssembly kept running into problems and a new approach had to be explored. Two years (and one pandemic) later, based on experience gained from Preview1, an improved design has emerged that splits the problem in two, factoring out a foundational “component model“ layer that is implemented by the WebAssembly engine, providing a more lightweight, composable, declarative unit o
Back to Top