Chrome To Deprecate ‘PNaCl,’ Embrace New ‘WebAssembly’ Standard
Google announced that its Portable Native Client (PNaCl) solution for making native code run inside the browser will be replaced by the new cross-browser web standard called WebAssembly.
NaCl And PNaCl
Around the same time Google introduced Chrome OS in 2011, it also announced Native Client (NaCl), a sandboxing technology that runs native code inside the browser. This was initially supposed to make Chrome OS a little more useful offline compared to only running web apps that required an internet connection.
Two years later, Google also announced PNaCl, which was a more portable version of NaCl that could work on ARM, MIPS, and x86 devices. NaCl, on the other hand, only worked on x86 chips.
Even though Google open sourced PNaCl, as part of the Chromium project, Mozilla ended up creating its own alternative called “asm.js,” an optimized subset of JavaScript that could also compile to the assembly language. Mozilla thought that asm.js was far simpler to implement and required no API compatibility, as PNaCl did.
As these projects seemed to go nowhere, with everyone promoting their own standard, the major browser vendors seem to have eventually decided on creating WebAssembly.
WebAssembly
WebAssembly can give web apps near-native performance, offers support for more CPU features, and is simpler to implement in browsers and use by developers. Chrome 57 and Firefox 52 already support WebAssembly, and Microsoft’s Edge and Apple’s Safari support it in the preview versions of their browsers.
Google said that going forward, its native code efforts will focus on using WebAssembly. Meanwhile, PNaCl will be deprecated by the end of the first quarter of 2018. Chrome apps and extensions will continue to support it for a while longer. However, Chrome previously announced the deprecation of Chrome apps, too.
Stay On the Cutting Edge: Get the Tom's Hardware Newsletter
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
Google published a list of recommendations for developers who want to port their apps from PNaCl to WebAssembly, as well as a roadmap for WebAssembly features that will be supported in future versions of Chrome.
-
spdragoo Was I the only one that was thinking at first this might somehow be chemistry related (since NaCl = Sodium Chloride = Table salt)?Reply -
19757786 said:Was I the only one that was thinking at first this might somehow be chemistry related (since NaCl = Sodium Chloride = Table salt)?
It was so you can add flavor to your website.
Another technology that if learned is now completely useless. The older I get the more disgusted I get with all the wasted energy. -
ammaross 19757786 said:Was I the only one that was thinking at first this might somehow be chemistry related (since NaCl = Sodium Chloride = Table salt)?
You're not wrong. They have fun with chemistry. Even the "chromium" project in itself. :P
"NaCl denotes sodium chloride, common table salt; as a pun, the name of pepper was also used. Pepper API is a cross-platform, open-source API for creating Native Client modules." -
InvalidError I wonder how many companies are going to be salty about having to re-design their websites, plugins, browser-based apps, etc. yet again for portability and support beyond early 2018.Reply -
ammaross 19757979 said:I wonder how many companies are going to be salty about having to re-design their websites, plugins, browser-based apps, etc. yet again for portability and support beyond early 2018.
About as many as bothered updating their Java-based code to run on something newer than Java 1.7. Actually, a lot less since NaCl wasn't widely used. -
spdragoo 19757979 said:I wonder how many companies are going to be salty about having to re-design their websites, plugins, browser-based apps, etc. yet again for portability and support beyond early 2018.
Maybe they can claim they're "healthier" since they're "lower sodium", LOL