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
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.