Following the footsteps of Google, Microsoft and Mozilla, Apple has finally developed the full implementation of WebAssembly for its WebKit. The new development brings “security and portability” to the layout engine that is powering Safari browser.
WebAssembly was debuted in June 2015 — followed by receiving its presence on Google Chrome, Microsoft Edge and Mozilla Firefox. The platform nowhere replaces traditional sources like JavaScript and C++ but adds an efficiency layer on top of the legendary open source languages. This advanced ability has presumably persuaded the WebKit team to conclude with the new full implementation.
“WebAssembly fits in with the rest of the web platform, as a good sidekick would. It reuses existing web APIs and exposes a new JavaScript API,” Apple’s Saam Barati, JF Bastien and Keith Miller write in a blog post.
The engineers reused some of the existing modules within WebKit to bring WebAssembly implementation. The first which Apple’s squad picked was the ECMAScript module implementation to apply WebAssembly.Instance’s API.
Developers who rely on modules can interact between JavaScript and WebAssembly seamlessly. The engineering team has also utilised a tiering system to balance startup costs with throughput. “Currently there are two tiers to the engine: the Build Bytecode Quickly (BBQ) tier and the Optimised Machine-code Generator (OMG) tier,” WebKit engineers explained.
Limited to some extent
While WebAssembly is an advanced option to speed-up the Web experience, it cannot do everything that JavaScript does. Features like the DOM access is still limited to the JavaScript implementation.
Having said that, Apple’s move with WebAssembly shows its interest towards developers. It would help the Cupertino giant receive more contributions from developer communities looking for universal solutions like WebAssembly in the future. Also, the latest development brings Safari browser one step closer to Chrome, Edge and Firefox.