Share your migration war stories in the comments below.

To solve the compilation nightmare, Google introduced Portable Native Client (PNaCl). Instead of compiling directly to machine-specific code, PNaCl compiled source code into an intermediate format called LLVM bitcode.

// Force a specific backend NaClPlugIn.use(new WebCryptoBackend());

Because modern browsers have limited support for legacy plug-ins, installation can be tricky: