Google's Native Client reaches ARM-based Chromebooks

The software for fast browser apps has taken a step beyond mainstream x86-based PCs to Chromebooks using ARM processors. But it won't reach ARM-based smartphones until later this year.

Stephen Shankland principal writer
Stephen Shankland has been a reporter at CNET since 1998 and writes about processors, digital photography, AI, quantum computing, computer science, materials science, supercomputers, drones, browsers, 3D printing, USB, and new computing technology in general. He has a soft spot in his heart for standards groups and I/O interfaces. His first big scoop was about radioactive cat poop.
Expertise processors, semiconductors, web browsers, quantum computing, supercomputers, AI, 3D printing, drones, computer science, physics, programming, materials science, USB, UWB, Android, digital photography, science Credentials
  • I've been covering the technology industry for 24 years and was a science writer for five years before that. I've got deep expertise in microprocessors, digital photography, computer hardware and software, internet standards, web technology, and other dee
Stephen Shankland
2 min read
Google Chrome logo

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.

Google's David Sehr announced NaCl for ARM today with version 25 of its NaCl software developer kit, which programmers use to build NaCl programs.

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.