W3C consortium Posted a draft version of the new specification, standardizing intermediate code Webassembly 2.0 and the associated API, Allowing to create high-performance applications carrying between browsers and hardware platforms. Webassembly provides a universal low-level intermediate code for execution of applications compiled from various programming languages. Thanks to the use of JIT for Webassembly, you can achieve the level of productivity close to the native code.
Webassembly technology can be used to perform tasks in the browser requiring high performance, such as video coding, sound processing, manipulation with graphics and 3D, game development, cryptographic operations and mathematical computing through the organization’s execution in the browser code written in compiled languages , such as C / C ++.
The main tasks of Webassembly stands out to ensure portability, predictability of behavior and identity of the code execution on different platforms. Recently, Webassembly is also moving as a universal platform for safe execution of code in any infrastructures, operating systems and devices, without limited to browsers.
W3C has published three preliminary specifications Webassembly 2.0:
- webassembly core – describes a low-level virtual machine to perform the intermediate webassembly code . Webassembly-related resources are supplied in the “.wasm” format, similar to the “.class” files in Java and contain static data and code segments to work with these data.
- webassembly javascript interface – Provides API to integrate with JavaScript . Allows you to get values and transmit parameters in the WebAssembly function. Running Webassembly complies with JavaScript security models and all interaction with the main system is made by analogy with the execution of JavaScript code.
- Webassembly Web API – Defines the software interface based on the mechanism Promise for query and run “.wasm” resources. WebASSEMBLY resource format is optimized to start execution, without waiting for the full file download, which allows you to increase the responsiveness of the Web applications.
basic changing in Webassembly 2.0, compared with the first version of the standard:
- Support vector type V128 and related vector instructions that allow you to perform actions on multiple numerical values in parallel (SIMD, Single Instration Multiple DATA).
- Opportunity