WebAssembly High-Level Goals
Define a portable , size- and load-time-efficient
binary format to serve as a compilation target which
can be compiled to execute at native speed by taking advantage of common
hardware capabilities available on a wide range of platforms, including
mobile and
IoT .
Specify and implement incrementally:
develop new features as independent proposals ;
maintain layering , with a core spec focused on pure sandboxed
computation, with host interactions factored out into higher
specification layers;
preserve backwards compatibility;
prioritize new features according to feedback and experience; and
avoid biasing towards any one programming language family.
Design to execute within and integrate well with the existing
Web platform :
maintain the versionless, feature-tested and backwards-compatible evolution story of the Web;
execute in the same semantic universe as JavaScript;
allow synchronous calls to and from JavaScript;
enforce the same-origin and permissions security policies;
access browser functionality through the same Web APIs that are accessible
to JavaScript; and
define a human-editable text format that is convertible to and from the
binary format, supporting View Source functionality.
Design to support non-browser embeddings as well.
Make a great platform:
⚙️