With the SDK, developers can start building Native Client applications ahead of the official launch. Plans call for putting Native Client technology inside the Google Chrome browser; until then, users cannot access the applications. Google did not have an estimate on when exactly Native Client would be supported in Chrome.
Also featured in the SDK is support for a set of interfaces dubbed "Pepper," providing compute, audio, and 2D Native Client modules. Pepper allows better access to browser systems for plug-ins.
The issue with native applications, including plug-ins, has been their access to the full machine, even files. As a result, users are forced to make decisions about which applications to trust. Google with Native Client comes with rules that define valid code modules and limit access to a user's computer. It offers capabilities such as validation, which can prevent an invalid module from running.
Google had released a "sneak peek" of the SDK last year. In coming months, Google plans to add APIs for 3D graphics, local file storage and peer-to-peer networking. An ABI (application binary interface) is planned as well.
"Until the ABI becomes stable, Native Client will remain off by default," Stefansen said. "However, given the progress we've made, you can now sticky-enable Native Client in Chrome 10+ through the about:flags dialog. Otherwise, you can continue using a command-line flag to enable Native Client when you want to."
Google has positioned Native Client as a technology intended to give developers full access to client CPU power while maintaining browser neutrality, OS portability, and safety in Web applications. It was built initially for 32- and 64-bit x86 systems running Windows, Mac OS, or Linux. The goal of the technology has been to enable development of web applications that are richer and more dynamic.