Lesson plan

Google Native Client

Google Native Client (NaCl) is a discontinued sandboxing technology for running either a subset of Intel x86, ARM, or MIPS native code, or a portable executable, in a sandbox. Google Chrome and other Chromium-based web browsers incorporated NaCl to safely run native code within web apps and browser extensions, largely independent of the user operating system and at near-native speeds. This capability was imperative for Google's plans for ChromeOS as a general-purpose computing platform. NaCl was also used for securing browser plugins, like Adobe Flash Player, and parts of other applications or full applications such as ZeroVM. The general concept of NaCl (running native code in the web browser) has been implemented before in ActiveX, but NaCl runs content in a sandbox while ActiveX application has full access to the system (disk, memory, user-interface, registry, etc.). Mozilla proposed asm.js as an alternative to both ActiveX and NaCl. asm.js also allows applications written in C or C++ to be compiled to run in the browser and also supports ahead-of-time compilation, but is a subset of JavaScript and hence backwards-compatible with browsers that do not support it directly. In 2016, Google de-prioritized feature development for Pepper and Native Client. On 30 May 2017, Google announced deprecation of PNaCl in favor of WebAssembly.…

Back to article

Article summary

Google Native Client (NaCl) is a discontinued sandboxing technology for running either a subset of Intel x86, ARM, or MIPS native code, or a portable executable, in a sandbox. Google Chrome and other Chromium-based web browsers incorporated NaCl to safely run native code within web apps and browser extensions, largely independent of the user operating system and at near-native speeds. This capability was imperative for Google's plans for ChromeOS as a general-purpose computing platform. NaCl was also used for securing browser plugins, like Adobe Flash Player, and parts of other applications or full applications such as ZeroVM. The general concept of NaCl (running native code in the web browser) has been implemented before in ActiveX, but NaCl runs content in a sandbox while ActiveX application has full access to the system (disk, memory, user-interface, registry, etc.). Mozilla proposed asm.js as an alternative to both ActiveX and NaCl. asm.js also allows applications written in C or C++ to be compiled to run in the browser and also supports ahead-of-time compilation, but is a subset of JavaScript and hence backwards-compatible with browsers that do not support it directly. In 2016, Google de-prioritized feature development for Pepper and Native Client. On 30 May 2017, Google announced deprecation of PNaCl in favor of WebAssembly.…

Key claims

No claims recorded.

Discussion questions

  1. Summarise the article in your own words. Which single claim would you verify first, and why?
  2. Which claim in this article is most likely to be revised as the sources update? How would you check its current status?
  3. If two sources disagreed about one of these facts, what would you need in order to trust one over the other?

Bibliography

No sources recorded.

Key claims and bibliography are generated from the same tracked claims and sources as the article page.