Google has announced its new project Google Chrome Native Client. This is a mega news. It is in early production
development phase. Presently, it will be developed as a Google Chrome plug-in. Later on, they may plan in to distribute it with Chrome core component.
Native Client can enable a browser to run code over the Web. ,It can be run as a regular software. Till now, only ActiveX, Scripts and Java can be run. but it is beyond that. It’s an approach that has profound technological implications in terms of software delivery, the cloud and, oh yeah, security.
Native Client has been presented primarily as a research project. This technology might be ambitious and risky. Anyway, few friendlier safety features have been included till now:
* The outer sandbox
* A platform qualification test
* A CPU blacklist
* A module blacklist
* A robust installer with auto-update support
What is Native Client?
As per Google – “Native Client is an open-source research technology for running x86 native code in web applications, with the goal of maintaining the browser neutrality, OS portability, and safety that people expect from web applications.” As you know now a days, PCs can execute billions of instructions per second, but today’s web applications can access only a small fraction of this computational power. Native Client aims to give web developers access to the full power of the client’s CPU.
Native client will enable the web applications to run the native code (in form of any language) at client machine only by using client resources only – CPU, Memory etc. This will help the web application to run much faster than today and will give users a desktop application experience.
Example taken from Google blog:
Imagine that you run a photo-sharing website and want to let your users touch up their photos without leaving your site. Today, you could provide this feature using a combination of JavaScript and server side processing. This approach, however, would cause huge amounts of image data to be transferred between browser and the server, leading to an experience that would probably be painfully slow for users who just want to make a few simple changes. With the ability to seamlessly run native code on the user’s machine, you could instead perform the actual image processing on the desktop CPU, resulting in a much more responsive application by minimizing data transfer and latency.
Google Chrome Native Client Research Paper