Pronounced "pinnacle," PNaCl works by allowing developers to compile C and C++ software to Web apps. Potentially, it could be a huge boon for developers who want to get their audio and video decompression software, image editing tools, or the complex engines that power video games by simplifying the "translation" from native code to the Web.
In its blog post announcing that PNaCl is ready, Google summarized the technical aspects of PNaCl as skipping the processor-intensive task of recompiling applications to run on devices powered by different hardware, such as x86, ARM, or MIPS.
However, despite its public debut, PNaCl still faces a difficult road ahead. PNaCl, its predecessor Native Client (NaCl), and Pepper, the group of APIs that let PNaCl talk to the browser, only work in Google Chrome. There don't appear to be plans at the moment to integrate them into other browsers at the moment, with Mozilla publicly critical of PNaCl for violating Google's principles of adhering to open and accepted Web standards in Blink, Chrome's rendering engine.
"Unfortunately it appears Blink's principles only apply to Blink, not Chrome as a whole," wrote Mozilla programmer Robert O'Callahan.
Still, it would be surprising to learn that Google wouldn't assist other browser makers in integrating PNaCl. But will they? So far, the answer is no.
There are legitimate developer concerns that supporting several programming foundations at once could lead to a Web that's harder to develop for. The critics claim that coding for PNaCl will lead to a fractured Web sounds not unlike the way that Web developers had to code specifically for Internet Explorer a decade ago.
Updated 6:48 p.m. PDT with comment from Google.