Google's Native Client Updates to Pepper API
If NaCl gains enough traction, Chrome could become the next IE6
Native Client (NaCl), Google's attempt at bridging the gap between pure JavaScript Web apps and installed programs, creeps ever closer to a stable release, and ultimate inclusion in other browsers, including Firefox. The plug-in, which allows the browser to safely execute native compiled code, has retired its NPAPI interface in favor of Pepper (PPAPI), and now has a much-improved SDK.
NaCI
NaCl, as a concept, is awesome. It allows for untrusted code to be executed natively, which is perfect for processor-intensive tasks like games and data analysis. The ultimate goal is to have NaCl modules that you can plug into a website, just like JavaScript is used at the moment -- a physics module, a maths module, a graphics module. JavaScript would still manage the easier bits, while NaCl would be leveraged for meatier tasks.
Ultimately, however, NaCl could cause immeasurable damage to the Open Web paradigm. NaCl is an open source project, but it still brings the same risks of fragmentation as Flash, Silverlight and Java applets. As it stands, only Chrome supports the Pepper interface that NaCl requires -- and with IE9 and Firefox 4 only weeks away from release, it would be a long time until support for the plug-in could improve.
Is a native client really necessary?
Finally, there's the question of whether Native Client is really necessary. JavaScript is already very fast and it's open. All two billion Internet users can use it. We've always thought of NaCl as a bit of a gimmick, but now it looks like Google really intends to push it as a bona fide Web plug-in. If you have faith in Google as a power for openness, then perhaps there's nothing to worry about -- but if history has taught us anything (Flash!), plug-ins are rarely open and shut cases.
If you want to try out some Native Client examples you'll need to install Chrome 10 or later, which currently includes the Beta, Dev and Canary channels. Enable Native Client in about:flags, then head over to the examples.
Comments
Be the first to write a comment
You must me logged in to write a comment.