Have you ever heard of the word sandbox or Virtual Machine then it would be easy to understand what native client is , It is like virtual machine where code can be run inside browser without effecting security of your system.
Native Client is such technology that is used to run a piece of code that is understood by a subset of X86 processors and ARM processors (which means native code can also be implemented in mobile devices) in a tight environment where system resources are limited and can be accessed securely.
I never heard this word before buzzing but with the latest release of Chrome14 which supports native client , again this word came into picture. As we already know Google is working on Chromium OS which completely performs its operations on web browser So this is an expected move in tech world but how it is recieved by people is what we have to wait and see but as of now Chrome14 is released you can download it at
So , Now you came to an idea that C or C++ code is executed in a browser which is powered by using Native Client(NACL) , This helps to build more beatiful games or applications that can be run inside a browser , as of now there are only few applications that are using NACL that too are available only google application store and google is planning to expand them as Chrome NACL usage increases and since it is using open source technology we can find many people developing apps for chrome in near future.You can find games “Beneath a Steel Sky” and”Lure of the Temptress” inside ScumVM and also web audio api is inbuilt for new chrome14 that adds many advanced for listening audio experience , try listening sample audio here if you installed google14.
So , That is about new google chrome14 . Which is all set to begin its career as next generation browser empowering many more web applications in near future.
Native client offers many features , Following are the features where they are broadly classified.
- Audio , Graphics and much more
It can run native modules of NACL to play audio , render 2D and 3D graphics and can access mouse , keyboard events and guess what it can run on multiple threads and can access memory directly without actually having any plugin . - Security
Native Client uses a double sandbox designed to protect resources on the
user’s system. This framework offers the safety of traditional web apps
in addition to the performance benefits of native compiled code,
without requiring users to install a plugin.
- Portability
Write any app’s once and you can use them in any NACL supported operating system. - Performance
Native client applications can run inside a browser with as much as 5% comparatively overloaded than desktop application which enables it to run even demanding applications like games. - Easy Migration from Desktop App to Web App
Many existing applications developed in C or C++ for a desktop can be easily migrated into web application easily.
If Google wants PNaCl to catch on, they need to produce tools to facilitate conversion of open source Linux desktop applications into PNaCl applications running in browser. Imagine LibreOffice, GIMP, Inkscape, Scribus, Unix terminal applications like SSH etc. running in a browser on any platform. It would also boost Chromebooks by providing local applications with offline capability.
PNaCl’s real selling point is that existing Posix compliant C and C++ code can be made into portable browser applications – something that JavaScript cannot do. Guess where the biggest available library of C and C++ source code which anyone can modify, recompile, and use freely is. Yes Linux applications.
Yes , I agree with you . They need to produce tools that support linux applications inside PNaCl but as of now PNaCl is just a baby and we can expect such features in very near future 🙂