Native Client: Google's (other) plugin play

Yesterday Google announced an early developer release of Native Client, a plugin for web browsers that lets you essentially run native code like C or C++ in the browser. In theory it could be extended to other languages.

Yesterday Google announced an early developer release of Native Client, a plugin for web browsers that lets you essentially run native code like C or C++ in the browser. In theory it could be extended to other languages. The main goal is to provide native-like performance and to let C/C++ developers start creating web applications. They've got a couple of cool examples, including Quake running in the browser, on the developer site.

Adobe announced Alchemy at MAX, which is a similar project for the Flash Player. Like Alchemy, Native Client uses GCC-based tools to compile C or C++ into bytecode native x86 code for the specific runtime. Alchemy uses Flash and Native Client has it's own, I assume C-based implementation. Both of these are early projects but it's the start of a trend and an example of the ever-expanding sphere of web applications. It's also very interesting to see this come out of Google, a company that has been doing a lot to expand the functionality of the web browser. They've got Gears for offline/desktop functionality, Native Client for performance, Earth for mapping, and of course Chrome for an actual browser.

Keep an eye on this project. I see the Flash Player or Silverlight has having 3 core parts: the runtime, the rendering engine, and the video codecs. Put those three things together and you've got an RIA plugin. Google has a bunch of disparate projects and none that do all of these, but they have a bunch of the pieces and a ton of engineering talent. It's also telling that Google is starting to be more and more obvious that the web browser/technologies as it exists today just aren't cutting it. That means we'll see more energy for projects like Native Code and Gears.