The latest version of the Native Client technology is included and enabled by default

Oct 3, 2013 17:11 GMT  ·  By

With Chrome 30 now safely in the stable channel, Google has pushed Chrome 31 to the beta channel for all users. As has been the recurring theme lately, there's not much to talk about. There are plenty of improvements, but most are under the hood or interest developers mostly.

The big new addition to Chrome in this latest release, on the desktop, is PNaCl, the latest iteration of the Native Client technology Google has been working on for years.

Native Client makes it possible to build complex applications that run in the browser (just Chrome) from any website or as part of a Chrome app. This means that older C/C++ code can be packaged as a web app and made available online.

It also means that developers can build fast and complex applications, like games, with the tools they're familiar with, but still take full advantage of the flexibility of the web.

"For developers looking to improve performance even further, Portable Native Client (PNaCl) now offers the ability to execute native code in the browser. Developers can compile C/C++ code--even complex existing code bases--into a single executable that runs across all desktop versions of Chrome and Chrome OS, no user installation required," Google boasted.

However, until now, developers still had to build different Native Client apps for different platforms. With PNaCl, which stands for Portable Native Client, that's no longer necessary. Compiling a Native Client app results in just one binary that works in Chrome for Windows, Linux and Mac, as well as in Chrome OS, including the ARM builds.

PNaCl also makes it possible to run this compiled code from the web without users having to install anything, either a plugin or even an app or extension.

The main advantage of Native Client is speed; it can approach native app performance levels. However, Mozilla is working on improving JavaScript performance to get close to that of native apps as well, with the ASM.js subset of JavaScript. This approach has the advantage of using pure web technologies.