Jump to content

WebAssembly

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 50.53.1.33 (talk) at 13:56, 2 November 2016 (→‎External links). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

WebAssembly
ParadigmExpression-oriented
Typing disciplineStatic
PlatformPlatform independent
LicenseApache License
Filename extensions.wast, .wasm
Websitewebassembly.org
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 and C++,[1] though other source languages are also intended to be supported.

Design

WebAssembly is a portable stack machine[2] which is designed to be faster to parse than JavaScript, as well as faster to execute.[1]

History

WebAssembly was first announced on 17 June 2015[3] and on 15 March 2016 was demonstrated executing Unity's Angry Bots in Firefox,[4] Chromium, Google Chrome,[5] and Microsoft Edge.[6]

Development

The initial implementation of WebAssembly support in browsers will be based on asm.js[7] and PNaCl.[8] After the minimum viable product (MVP) release, there are plans to support garbage collection[9] 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, Microsoft, Google and Apple.[8]

See also

References

  1. ^ a b "WebAssembly High-Level Goals". GitHub / WebAssembly / design. 11 December 2015.
  2. ^ "Design Rationale". GitHub / WebAssembly / design. 1 October 2016.
  3. ^ "Launch bug". GitHub / WebAssembly / design. 11 June 2015.
  4. ^ Wagner, Luke (14 March 2016). "A WebAssembly Milestone: Experimental Support in Multiple Browsers". Mozilla Hacks.
  5. ^ Thompson, Seth (15 March 2016). "Experimental support for WebAssembly in V8". V8 Blog.
  6. ^ Zhu, Limin (15 March 2016). "Previewing WebAssembly experiments in Microsoft Edge". Microsoft Edge dev blog.
  7. ^ "WebAssembly: a binary format for the web". ②ality – JavaScript and more. 18 June 2015.
  8. ^ a b Bright, Peter (18 June 2015). "The Web is getting its bytecode: WebAssembly". Ars Technica. Condé Nast.
  9. ^ "WebAssembly/design". GitHub. Retrieved 28 December 2015.