Making Portable Native Client competitive with Asm.js.

Right now there is more excitement and support for Asm.js than for PNaCl (Portable Native Client). This is because no other browser vendor will implement it and Asm.js provides close enough to the functionality that developers wont care.

In reality it’s not PNaCl browser vendors won’t implement so much as PPAPI (Pepper Plugin API) which it runs on top of. Understandably browser vendors are moving away from plugin systems lately. What with all the issues dealing with Flash Player dependent sites on mobile.

Now let’s look at another Chromium project: Dart. Developers don’t seem that interested in this either. Whatever the reason isn’t the concern. What’s important is that the Dart team did some things right.

  1. they implemented a VM for it that hooks into the browsers DOM API’s.
  2. they submitted it to ECMA for standardization.

Really what’s stopping Google from doing this with PNaCl?
As it stands right now it’s just another plugin that’s not available on mobile platforms. But imagine if they were serious about it being a web standard.

It could have a chance. No seriously. I know it’s been said many times that getting browsers to agree on a new language/VM is impossible but:

How much of a stretch would it really have been, prior to Asm.js , to back WebLLVM? Now of course the availability and progress of Asm.js makes this all seem unnecessary as the only real advantage left of PNaCl is pthreads support. Which might not last either.

But I think it would be worth a try. In any case it’s better than operating on the assumption that eventually the other browsers will support PPAPI or asking developers to make apps that only will ever work in Chrome.