Google advances Native Client Web browser technology

Revamped SDK addresses security concerns, allows developers to build Native Client apps before technology's official launch

Google on Friday began offering a revamped SDK for its Native Client open source technology for running Web applications that execute native code inside a browser.

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 on Blogger Neil McAllister calls Native API "Google's craziest idea yet." | Stay up to date on the key programming news and issues with InfoWorld's Developer World newsletter. Sign up today! ]

"Today, we've reached an important milestone in our efforts to make Native Client modules as portable and secure as JavaScript, by making available a first release of the revamped Native Client SDK," said Christian Stefansen, of the Google Native Client team, in a blog post.

Developers can view APIs, documentation, and examples to show how to write a module in C or C++ and communicate with JavaScript code executing in a browser. The SDK improves security, removing localhost restrictions in previous releases. "Beyond security, we've also improved the mechanism for fetching Native Client modules based on the instruction set architecture of the target machine, so developers don't need to worry about this anymore," said Stefansen.

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.

This article, "Google advances Native Client browser technology," was originally published at Follow the latest developments in business technology news and get a digest of the key stories each day in the InfoWorld Daily newsletter. For the latest business technology news, follow on Twitter.

Copyright © 2011 IDG Communications, Inc.