Google has been working on Native Client for years and it's got years more work if it wants it to become a widely used web technology. One step in that direction is the new support for ARM processors that comes with the new Native Client SDK, version 25, i.e. targeted at Chrome 25, currently in beta.
Native Client, or NaCl for short, is a technology that enables developers to package their C/C++ code and applications into a Native Client app that can be deployed online and which runs in Chrome no matter the platform.
A NaCl app in the Web Store should run on Windows, Mac, Linux and Chrome OS, to the app they'll all look the same. Until now though, there was a big caveat, it only worked on x86 processors, 32-bit or 64-bit.
This wasn't a problem since all the desktop and laptop processors are based on the x86 instruction set, with one big exception, the new cheap Samsung Chromebook
that has been so popular in recent months which sports an ARM processor. And, of course, all smartphones and tablets run ARM processors as well.
With the latest update
, NaCl apps will run on ARM processors, but only on the Chromebook, Chrome for Android doesn't have NaCL support. Granted, it doesn't have support for any type of app or extension.
In that sense, this is only a first step. The plan for 2013 is to develop the next-generation NaCl, aptly named PNaCl, short for Portable Native Client.
Apps built with PNaCl will work on any platform that supports NaCl without any modification. Currently, apps have to make two binary builds, one for x86 and one for ARM.
When PNaCl comes into its own, apps will only have to be built once, packaged as an .pexe binary and they'll work on any processor.
"In 2013 the next generation of Native Client, called Portable Native Client, will introduce true architecture-independence by using LLVM bitcode as the wire format. 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," Google explained.