3 ms·
NaCl is a way to run native x86 instructions in a secure manner inside the browser. As such, it has more in common with Silverlight than JavaScript. The diffe
by gecko 17y ago
NaCl is a way to run native x86 instructions in a secure manner inside the browser. As such, it has more in common with Silverlight than JavaScript. The difference between NaCl and Silverlight is that you can use any language with NaCl, provided that it compiles to a verifiable subset of x86. The downside, obviously, is that while Silverlight runs just fine on any platform with a CLR, which in practice means desktops and Zunes, NaCl only runs on x86 systems that have the NaCl plugin installed, which currently means the dev channel of Chrome.
As such, I view NaCl more as a research project right now than anything else, but who knows? If Chrome OS takes off, NaCl would suddenly be a very serious target, even if no other browsers endorse it. Meanwhile, it's still fun to tinker with.
- lunchbox 17y agoThanks Gecko. What about UI? With Silverlight, one would write XAML to define a webapp's UI elements (e.g. forms). Is there a NaCl equivalent? (Please excuse my rudimentary knowledge of how things work under the hood.)
- gecko 17y agoNaCl can talk to the DOM/JavaScript, or can draw things itself using a frame buffer. All demos I've seen use the latter technique. As far as I know, there are currently no standard widgets. http://nativeclient.googlecode.com/svn/data/docs_tarball/nacl/googleclient/native_client/scons-out/doc/html/index.html http://nativeclient.googlecode.com/svn/data/docs_tarball/nac... has a good overview of the APIs available. I had thought that at least a little OpenGL was available as well, though I don't see it enumerated there. I'm unsure whether that's because I'm wrong, or because it's simply not in the generated documentation. At any rate, given that the API is based around framebuffers, it'd be pretty easy to port GDK or a similar system to run in NaCl.