This post is for the readers that just have heard about Native Client. Here, we’ll first explain NaCl for the non-savvy users, and than bring some quotes that explain what is it. You will also find other information you probably want to know, enjoy!
Feel free to leave a reply with your own question(s).
And here comes Native Client, with this new technology, Google claims that it’s possible to run code in performance comparable to desktop softwares, almost the same performance.
For the more knowledgeable users, here are some more quotes that describe Native Client pretty well.
Here is a short description from Wikipedia, our first source for general information:
Google Native Client is a sandboxing technology for running a subset of Intel x86 native code using software-based fault isolation. it is proposed for safely running native code from a web browser, allowing web-based applications to run at near-native speeds
The following is a description of Native Client by Brad Chen, Native Client Team:
Modern PCs can execute billions of instructions per second, but today’s web applications can access only a small fraction of this computational power. If web developers could use all of this power, just imagine the rich, dynamic experiences they could create. At Google we’re always trying to make the web a better platform. That’s why we’re working on Native Client, a technology that aims to give web developers access to the full power of the client’s CPU while maintaining the browser neutrality, OS portability and safety that people expect from web applications.
Here is another interesting source, this article talking about many important aspects of Native Client, I think I’ll quote this source at least once more:
Native Client enables the browser to harvest immense CPU power for games, HD films and computing-intensive applications. The Native Client (NaCl) runs programming code downloaded by the browser from the internet. Its main attraction is that such code can be written in C or C++, typically the former, which would enable even standalone applications like Nero or Photoshop. Native Client executes web applications on the PC in order for these applications to work as fast as local programs, Native Client must have direct access to the CPU and RAM without putting the system at risk.
NaCl converts code into machine language, stores it in the RAM, and allows it to be processed by the CPU. It therefore achieves high performance while making it appear as if the applications are being executed by the operating system. Furthermore, as compared to the browser, it also features multithreading and can use the processor instruction sets. As proof, Google compiled the Quake game engine for its client and compared the performance against the standalone version. The result: both versions achieve the same frame rate. According to Google’s calculations, even a worst-case scenario will show only a five percent loss in performance. These are values which other environments for Web code like Java, Silverlight, and AIR cannot even come close to. Additionally, the programs will have to be written freshly since the C languages do not cope well with them.
Native Client could operate in every browser, Google offers Native Client along with examples to demonstrate its efficiency under an open source license to the web community. It is now up to other browser developers to port it for their applications. At present, Native Client operates successfully on all browsers with the only exception being Internet Explorer. The final version, however, should not be bigger than 400 KB and will most likely to function in IE.
Google completely denies that Native Client is the core of an independent operating system. “Although NaCl uses a computer’s CPU and RAM resources, it is not allowed to write data to the hard disk”
Processed from the source – Google Native Client | Compute in the browser with NaCl | Techplore.com.
So, we hope you’re now understand what is Native Client, what is its purpose and how it’s compared to other solutions. If you still have any other question, just leave them as a comment.