Google Native Client grows out of research phase
Satisfied that its security underpinnings are solid, Google has promoted its open-source Native Client technology to accelerate Web applications out of its research phase and is taking steps to build it into the Chrome Web browser.
"Based on our experience to date, we believe that the basic architecture of our system is sound and the implementation is supportable. So now we are undertaking a number of tasks to transition Native Client from a research technology to a development platform," said Brad Chen, Google's Native Client engineering manager, in a mailing list announcement Wednesday.
Brad Chen, engineering manager of the Google Native Client
(Credit: Stephen Shankland/CNET)Native Client, called NaCl for short, is a mechanism to run software downloaded over the Web directly on x86 processors such as Intel's Core line. The key motivation is to attain the speed of regular "native" software installed on a computer rather than the much slower JavaScript environment that sophisticated Web sites use today. It's one part of Google's broad effort to evolve the Web from a collection of relatively static sites into foundation for more powerful applications.
Executing native code from the Web is easy--until you start trying to worry about security risks. To this end, Native Client examines software before it runs to block software that takes a variety of prohibited actions, an idea called static analysis, and it runs the software in a protected sandbox.
"We recognized the underlying technology to be ambitious and risky, and felt strongly than a generous measure of public scrutiny was appropriate before we committed to any definite plans," Chen said. Satisfied that Native Client passed muster, Google will remove various security constraints such as the inability to execute Native Client software downloaded from the open Internet, he said.
Native Client was first introduced in December a browser plug-in, but Google doesn't like that approach.
"We recognize that there is well-justified resistance to installing browser plug-ins. For this reason we have a strong preference for delivering Native Client pre-installed or built into the browser, and we'll be focusing on that as our main strategy for delivering Native Client to users," Chen said.
And now we see one reason why Google is interested having a browser of its own available: "Careful readers may have already noticed evidence of integration into Chromium in the Native Client source," Chen said, referring to the open-source project that underlies the Chrome browser.
Google touted Native Client at its Google I/O conference in May, showing off a Web-based photo editor as an example of the processing power the technology offers. Google also is trying to pair Native Client with another company project, O3D, which lets browsers take advantage of hardware to accelerate 3D graphics.
Stephen Shankland writes about a wide range of technology and products, but has a particular focus on browsers and digital photography. He joined CNET News in 1998 and since then also has covered Google, Yahoo, servers, supercomputing, Linux and open-source software, and science. E-mail Stephen, or follow him on Twitter at http://www.twitter.com/stshank. 



It definitely competes with Silverlight, though Silverlight isn't terribly widely used on Web sites. The best example I know of is Netflix's streaming video service. Silverlight tends to be more for standalone applications; Google envisions Native Client as more of a helper technology but not a complete programming environment or a platform where programmers can assume a bunch of libraries are built in to draw upon.
Is not JIT (Just In Time) run in native x86 ? I guess some websites claim that JIT code is as fast as its native equivalent ( C# v.s C++), specially in math intensive applications. What I want to know is that why Google is trying to add to the burden of web programmer to learn another language. Why not make their V8 engine as fast as possible instead of this?
Also I wonder if this approach has anything to do with the fact that Adobe now has a tool called Achelemy that allows C++/C code to be converted in byte code and run in the Flash Player. Because when given the choice of using C++ code in the browser using the well known Flash Player or going with new plugin from Google, I imagine most would use Flash.
Look at Iphone, most apps run native - NOT in the browser - it just WORKS.
- by June 12, 2009 3:40 AM PDT
- Native Client does not replace Silverlight, Flush, Jave, Video codecs etc. It provides a ways for such software to be SAFELY downloaded and used. So may allow more browsers plug-in to be used without problems. It will limit (not remove) the risk when a browser plug has a security whole in it.
- Reply to this comment
-
-
- by idfubar July 7, 2009 2:08 AM PDT
- Static analysis hasn't advanced in the last 10 years?
-
-
(23 Comments)Think of Native Client as a safer version of ActiveX?.
It may take of, provided it is easy to convert an ActiveX control into a Native Client.
A little bit of history, some old IBM machines protected memory access by checking the binary of a programme before letting it install, rather then having hardware memory protection. Native Client is a more extensive version of this.