Google has been working on Native Client (aka NaCl), an SDK that brings C/C++ functionality to browsers since at least last year, and now the latest Google Chrome beta version includes NaCl. NaCl uses an API called “Pepper” that provides HTML5 bindings for C or C++ . (NaCl is the molecular formula for salt. Salt and pepper. Get it?)
Google has also promised to make NaCl available as a plugin for other browsers. What this means is that cloud-based applications may be able to execute code at a desktop level of sophistication, and that Google Chrome OS will soon be able to run these types of applications as well. It’s further blurring of the lines between Web/cloud and desktop applications.
According to Google’s announcement:
Native Client allows C and C++ code to be seamlessly executed inside the browser with security restrictions similar to JavaScript. Native Client apps use Pepper, a set of interfaces that provide C and C++ bindings to the capabilities of HTML5. As a result, developers can now leverage their native code libraries and expertise to deliver portable, high performance web apps.
Google also announced the Web Audio API, which brings advanced audio capabilities to JavaScript. This will further break down the barrier between what it is and isn’t possible for browser based applications to do.
Google first previewed NaCl for Chromium in May of 2010. Here’s a video explanation and demo: