|Native Code On Chrome Dropped In Favour Of WebAssembly|
|Written by Ian Elliot|
|Monday, 05 June 2017|
Google has just announced that Chrome will no longer support native code in the form of PNaCl. Instead it will follow the lead of the other browser makers and rely on WebAssembly for fast code. In short, WebAssembly won.
The programmers who liked it really loved it and there was initially a lot of enthusiasm. Then the one big problem became apparent. NaCl was a Chrome-only feature and as time ticked on it looked increasingly unlikely that any other browser would adopt the technology. An improved version of NaCl was launched in 2013, PNaCl. This used a portable intermediate code which allowed native apps to run in a browser working on a range of hardware.
Even the programmers who thought that PNaCl was good, or a good opportunity to get their C/C++ programs on the web, couldn't avoid the conclusion that they were going to have to put a "Only works in Chrome" sticker on what they were creating.
Last year the PNaCl team was dispersed, but the open source project continued. Now we have definitive word the PNaCl is dead as far as Google is concerned:
We will remove support for PNaCl in the first quarter of 2018 everywhere except inside Chrome Apps and Extensions. We believe that the ecosystem around WebAssembly makes it a better fit for new and existing high-performance web apps, and that usage of PNaCl is sufficiently low to warrant deprecation.
So it was WebAssembly that killed it.
The really confusing issue is that PNaCl is still going to be supported under ChromeOS. This is because it provides the only way to run native code on Chromebooks. This is not a good situation for Google to be in and it is likely that it too will be deprecated in the not too distant future. After all, who is going to spend the time working on a PNaCl app for ChromeOS now that the technology is no part of Chrome.
Google has prepared some help in migrating to WebAssembly, but essentially all you have to do is recompile your C/C++ code to WebAssembly after changing any PPAPI calls to standard web APIs. There are going to be missing technologies that WebAssembly isn't going to support for a while - if ever. There are going to be casualties of the move.
The announcement encourages programmers to move to WebAssembly:
With the launch of WebAssembly, the web platform has gained a foundation for a new generation of fast and immersive web apps that run in any browser. We’re excited to see what developers build next!
More InformationGoodbye PNaCl, Hello WebAssembly!
or email your comment to: firstname.lastname@example.org
|Last Updated ( Tuesday, 06 June 2017 )|