BT

Google Is to Remove Support for PNaCl

| by Abel Avram Follow 7 Followers on May 31, 2017. Estimated reading time: 1 minute |

After de-staffing the PNaCL/NaCl team last year and adding default support for WebAssembly in Chrome in March of this year, Google has officially announced the retirement of PNaCl in favor of WebAssembly.

Announced at Google I/O 2013, PNaCl was Google solution to run native code in the browser. It required one LLVM bitcode for all platforms, and the browser would then translate and execute the code on the platform where Chrome was running. It promised performance close to native code execution, allowing old or new C/C++ code to run securely in the browser. While the technology was fulfilling its promise, PNaCl never saw adoption among other browser vendors, and it was not largely embraced by developers. In Google’s own words, PNaCl's usage is "sufficiently low to warrant deprecation." From Q1/2018, Chrome will no longer support PNaCl except for Chrome Apps and Extensions.

As a replacement, Google is now pushing WebAssembly. WebAssembly has a lot more chances to succeed because it has been embraced by all major browser vendors including Apple, Microsoft and Mozilla. WebAssembly is a standardized binary format that can be targeted by tools compiling native applications for the browser. It comes with support for C and C++ and there is incipient support for Rust. Since it does not have a garbage collector yet, languages such as Java and C# are not supported yet, but they may be supported in the future.

As success stories for WebAssembly, Google pointed to this in-browser video editor and a game running on the Unity engine inside the browser.

Chrome and Firefox currently support WebAssembly by default while Edge and Safari are in preview mode at this time. The roadmap for Chrome includes adding support for asynchronous compilation, asm.js, IndexedDB, threads, SIMD, among others. This WebAssembly Migration Guide presents how PNaCl features will be deprecated and what to use instead.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT