The problem with web applications is that they’re underpowered. They have access to only a tiny bit of the computational power afforded by modern computers. Google announced the released this week of a new open source research project called Native Client that aims to change that. Native Client is a set of technologies that will let developers create web applications that can run native x86 code in the browser.
Native Client consists of a runtime, a browser plugin, and a set of GNU Compiler Collection-based compilation tools that allow the creation web applications that have access to native code modules. Google is aiming to create a technology that can boost the power of web applications while maintaining the “browser neutrality, OS portability and safety that people expect from web applications.”
Above: screenshots of demo applications running in browser on Native Client.
For now, Native Client will run in Firefox, Safari, Opera, and Google Chrome on any modern Windows, Mac, or Linux system that has an x86 processor. It’s also definitely a developer aimed demo at the moment. Native Client’s runtime clocks it at about 88MB and requires Python to install — so, not for the faint of heart.
Eventually, though, Native Client could evolve into Google’s answer to Flash, Silverlight, and Java. This is definitely a piece of their Web OS strategy, which also includes Chrome (our coverage) and Gears (our coverage). Used together, the three form an impressive foundation for Google’s stake in the Web OS race.
Chrome allows web applications to be launched in a separate window using their own, independent process; Gears gives those applications access to local data store; and Native Client allows them to tap into the power of the CPU for things like improved image processing.
The biggest hurdle for Google, other than driving adoption of yet another runtime+plugin, will be keeping Native Client secure. Everyone remembers the nightmare that was/is ActiveX. Google says that one of the reasons they’re open sourcing Native Client is so that the research and security communities can help make it more stable and secure.