WebAssembly
Paradigm | Expression-oriented |
---|---|
Typing discipline | Static |
Platform | Platform independent |
License | Apache License |
Filename extensions | .wast, .wasm |
Website |
webassembly |
Influenced by | |
asm.js, PNaCl |
WebAssembly or wasm is an experimental efficient low-level programming language for in-browser client-side scripting, which is currently in development. Its initial aim is to support compilation from C/C++,[1] though other source languages are also intended to be supported. WebAssembly is a portable abstract syntax tree[2] which is designed to be faster to parse than JavaScript, as well as faster to execute.[1] The initial implementation of WebAssembly support in browsers will be based on asm.js[3] and PNaCl.[4] After the minimum viable product (MVP) release, there are plans to support garbage collection[5] which would make WebAssembly a compilation target for garbage collected programming languages like Java and C#. The team working on WebAssembly includes people from Mozilla, Google, Microsoft, and Apple (who respectively control the four major browsers, Firefox, Chrome, Microsoft Edge, and Safari).[4]
WebAssembly was first announced on 17 June 2015[6] and on 15 March 2016 was demonstrated executing Unity's Angry Bots in Firefox,[7] Chrome,[8] and Microsoft Edge.[9]
References
- 1 2 "design/HighLevelGoals.md at master · WebAssembly/design". GitHub.
- ↑ "design/Rationale.md at master · WebAssembly/design". GitHub.
- ↑ "WebAssembly: a binary format for the web". ②ality – JavaScript and more. 18 June 2015.
- 1 2 Bright, Peter (18 June 2015). "The Web is getting its bytecode: WebAssembly". Ars Technica. Condé Nast.
- ↑ "WebAssembly/design". GitHub. Retrieved 28 December 2015.
- ↑ "Launch bug". GitHub.
- ↑ "A WebAssembly Milestone: Experimental Support in Multiple Browsers". Mozilla Hacks.
- ↑ "Experimental support for WebAssembly in V8". V8 Blog.
- ↑ "Previewing WebAssembly experiments in Microsoft Edge". Microsoft Edge dev blog.