Google has finished a version of its Native Client programming technology that extends beyond mainstream x86 PC processors into the world of ARM chips.

Native Client, or NaCl for short, is designed to let programmers easily adapt the C or C++ software they've written for native software so that it can run as a part of Web apps, too. It's designed for high performance, but it's also got security mechanisms built in to counter the risks of running malicious code directly on the processor. The first version of NaCl, though, only worked on personal computers using Intel or AMD's x86 chips.

The technology is designed so that programmers can bring their existing code to the Web -- for example, game designers who have written a physics engine in C++. But NaCl has been at odds with the Web philosophy in one important way, namely, that NaCl software doesn't simply run on any device with a browser.

Extending to ARM is thus an important step for NaCl, because ARM chips power almost every smartphone out there. But this version of NaCl doesn't do that -- it only works on the new ARM-based Samsung Chromebooks.

To reach mobile phones, Google is banking on a revamp called Portable Native Client, or PNaCl. It adopts a low-level translation technology called LLVM that adapts native code to a variety of processors.

"With Portable Native Client, we'll be able to support not just today's architectures, but also those of tomorrow - and developers won't have to recompile their app," Sehr said in the blog post.

With PNaCl, programmers will be able to produce a single package (with the .pexe extension rather than NaCl's .nexe extension) that will run on all supported devices. With today's approach, programmers must produce separate .nexe files for ARM and for x86.

Another major challenge for Native Client is attracting support. It's built into Chrome, but no other major browser maker supports it, and Mozilla is downright frosty about NaCl.

So far you can only get NaCl software through Google's Chrome Web Store. That's also a big departure from the ordinary Web, where you simply point a browser at a Web page to fetch the necessary HTML, CSS, and JavaScript software.

That'll change with PNaCl, too, Google said. The Chrome Web Store is required today to ensure software is compatible with different chip architectures, Google said in a statement. PNaCl sheds this chip-architecture constraint.

About the author

Stephen Shankland has been a reporter at CNET since 1998 and covers browsers, Web development, digital photography and new technology. In the past he has been CNET's beat reporter for Google, Yahoo, Linux, open-source software, servers and supercomputers. He has a soft spot in his heart for standards groups and I/O interfaces.
See full bio