The first release of the SDK is now available

May 13, 2010 14:45 GMT  ·  By

Google is constantly torn between two forces. On the one hand, it is a great supporter of standards and it is always trying to stick to existing ones or promote the new standards that bring the most benefits. On the other hand, it needs to innovate and always pushes new technologies, especially web technologies. These two urges sometimes clash and Google has been known to forge ahead with new technologies even without broader support.

Native Client - pre-compiled apps in the browser

Native Client, an interesting, new technology for which Google has just released the SDK, falls squarely in the middle of these two trends inside the company. Native Client promises to be a great way of bringing native app performance to web applications. It does this by running native, pre-compiled binary code in a sandbox inside the browser rather than having apps rely on interpreted languages like JavaScript.

The speed boost brought on by this, even with the latest developments in JavaScript performance, is tremendous. There’s also the added benefit of being able to use existing C or C++ libraries to build your applications, many of which don’t have an equivalent, at least not one at the same level of quality or functionality, written in JavaScript, or other common web programming languages.

Introduced a year ago, Native Client was made available as a development environment and a plugin for Firefox, Opera, Safari and Chrome. It was at the very early stages and only for the most curious of developers and testers. Now, Google is taking one step forward, though one step backwards as well, it seems, with the release of the brand-new Software Development Kit.

The Native Client SDK

The Native Client SDK is a preview release, but it is a big improvement over what was available until now. It “includes just the basics you need to get started writing an app in minutes: a GCC-based compiler for creating x86-32 or x86-64 binaries from C or C++ source code, ports of popular open source projects like zlib, Lua, and libjpeg, and a few samples that will help you get you started developing with the NPAPI Pepper Extensions,” David Springer, senior software engineer at Google, said.

Another interesting change in the new Native Client SDK is that it uses the proposed NPAPI Pepper plugin platform. This project, initiated by Mozilla, but supported by Adobe and other browser makers, including Google, aims to create a new cross-browser plugin platform to replace the ancient NPAPI (Netscape Plugin Application Programming Interface).

Unfortunately, this means that the Native Client SDK will only work in Chromium and nowhere else, not even in Google Chrome, for now. What’s more, you have to run Chromium with the --enable-nacl command line option to have the functionality enabled. Google says it plans to develop the SDK at a rapid pace over the next few months, so things will change frequently. Browsers should also expand once the technology reaches some level of maturity.