Bringing the web up to speed with WebAssembly

A Haas, A Rossberg, DL Schuff, BL Titzer… - Proceedings of the 38th …, 2017 - dl.acm.org
A Haas, A Rossberg, DL Schuff, BL Titzer, M Holman, D Gohman, L Wagner, A Zakai…
Proceedings of the 38th ACM SIGPLAN Conference on Programming Language …, 2017dl.acm.org
The maturation of the Web platform has given rise to sophisticated and demanding Web
applications such as interactive 3D visualization, audio and video software, and games. With
that, efficiency and security of code on the Web has become more important than ever. Yet
JavaScript as the only built-in language of the Web is not well-equipped to meet these
requirements, especially as a compilation target. Engineers from the four major browser
vendors have risen to the challenge and collaboratively designed a portable low-level …
The maturation of the Web platform has given rise to sophisticated and demanding Web applications such as interactive 3D visualization, audio and video software, and games. With that, efficiency and security of code on the Web has become more important than ever. Yet JavaScript as the only built-in language of the Web is not well-equipped to meet these requirements, especially as a compilation target.
Engineers from the four major browser vendors have risen to the challenge and collaboratively designed a portable low-level bytecode called WebAssembly. It offers compact representation, efficient validation and compilation, and safe low to no-overhead execution. Rather than committing to a specific programming model, WebAssembly is an abstraction over modern hardware, making it language-, hardware-, and platform-independent, with use cases beyond just the Web. WebAssembly has been designed with a formal semantics from the start. We describe the motivation, design and formal semantics of WebAssembly and provide some preliminary experience with implementations.
ACM Digital Library