fbpx
Wikipedia

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. It allows safely running native code from a web browser, independent of the user operating system, allowing web apps to run at near-native speeds, which aligns with Google's plans for ChromeOS. It may also be used for securing browser plugins, and parts of other applications or full applications[2] such as ZeroVM.[3]

Google Native Client
Developer(s)Google, others
Initial release16 September 2011; 12 years ago (2011-09-16)[1]
Stable release
SDK: Pepper 45 / 10 July 2015; 8 years ago (2015-07-10)

Clients: Same as Google Chrome

Repository
  • chromium.googlesource.com/native_client/src/native_client.git
Written inC, C++
Operating systemWindows, Linux, macOS, ChromeOS
Platformx86, ARM, MIPS
SuccessorWebAssembly
TypeSandbox in web browsers for native code
LicenseNew BSD
Websitedeveloper.chrome.com/docs/native-client/

To demonstrate the readiness of the technology, on 9 December 2011, Google announced the availability of several new Chrome-only versions of games known for their rich and processor-intensive graphics, including Bastion (no longer supported on the Chrome Web Store). NaCl runs hardware-accelerated 3D graphics (via OpenGL ES 2.0), sandboxed local file storage, dynamic loading, full screen mode, and mouse capture. There were also plans to make NaCl available on handheld devices.[4][5]

Portable Native Client (PNaCl) is an architecture-independent version. PNaCl apps are compiled ahead-of-time. PNaCl is recommended over NaCl for most use cases.[6] The general concept of NaCl (running native code in web browser) has been implemented before in ActiveX, which, while still in use, has full access to the system (disk, memory, user-interface, registry, etc.). Native Client avoids this issue by using sandboxing.

An alternative by Mozilla was asm.js, which 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.

On 12 October 2016, a comment on the Chromium issue tracker indicated that Google's Pepper and Native Client teams had been destaffed.[7] On 30 May 2017, Google announced deprecation of PNaCl in favor of WebAssembly.[8] Although initially Google planned to remove PNaCl in first quarter of 2018,[8] and later in the second quarter of 2019,[9] it has been removed in June 2022 (together with Chrome Apps).[10][11]

Overview edit

Native Client was an open-source project developed by Google.[12] Games such as Quake,[13] XaoS, Battle for Wesnoth,[14] Doom,[15] Lara Croft and the Guardian of Light,[16] From Dust,[17] and MAME, as well as the sound processing system Csound, have been ported to Native Client. Native Client has been available in the Google Chrome web browser since version 14, and has been enabled by default since version 31, when the Portable Native Client (PNaCl, pronounced: pinnacle) was released.[18][19][20]

An ARM implementation was released in March 2010.[21] x86-64, IA-32, and MIPS were also supported.

To run an application portably under PNaCl, it must be compiled to an architecture-agnostic and stable subset of the LLVM intermediate representation bytecode.[22] The executables are called PNaCl executables (pexes). The PNaCl Toolchain makes .pexe files; NaCl Toolchain .nexe files. The magic number of .nexe files is 0x7F 'E' 'L' 'F', which is ELF. In Chrome, they are translated to architecture-specific executables so that they can be run.

NaCl uses software fault detection and isolation for sandboxing on x86-64 and ARM.[23] The x86-32 implementation of Native Client is notable for its novel sandboxing method, which makes use of the x86 architecture's rarely used segmentation facility.[24] Native Client sets up x86 segments to restrict the memory range that the sandboxed code can access. It uses a code verifier to prevent use of unsafe instructions such as those that perform system calls. To prevent the code from jumping to an unsafe instruction hidden in the middle of a safe instruction, Native Client requires that all indirect jumps be jumps to the start of 32-byte-aligned blocks, and instructions are not allowed to straddle these blocks.[24] Because of these constraints, C and C++ code must be recompiled to run under Native Client, which provides customized versions of the GNU toolchain, specifically GNU Compiler Collection (GCC), GNU Binutils, and LLVM.

Native Client is licensed under a BSD-style license.

Native Client uses Newlib as its C library, but a port of GNU C Library (GNU libc) is also available.[25]

Pepper edit

NaCl denotes sodium chloride, common table salt; as a pun, the name of pepper was also used. Pepper API is a cross-platform, open-source API for creating Native Client modules.[26] Pepper Plugin API, or PPAPI[27][28] is a cross-platform API for Native Client-secured web browser plugins, first based on Netscape's NPAPI, then rewritten from scratch. It was used in Chromium and Google Chrome to enable the PPAPI version of Adobe Flash[29] and the built-in PDF viewer.[30]

PPAPI edit

On 12 August 2009, a page on Google Code introduced a new project, Pepper, and the associated Pepper Plugin API (PPAPI),[31] "a set of modifications to NPAPI to make plugins more portable and more secure".[32] This extension is designed specifically to ease implementing out-of-process plugin execution. Further, the goals of the project are to provide a framework for making plugins fully cross-platform. Topics considered include:

  • Uniform semantics for NPAPI across browsers.
  • Execution in a separate process from the renderer-browser.
  • Standardize rendering using the browser's compositing process.
  • Defining standardized events, and 2D rasterizing functions.
  • Initial attempt to provide 3D graphics access.
  • Plugin registry.

The Pepper API also supports Gamepads (version 19) and WebSockets (version 18).[33]

As of 13 May 2010, Google's open source browser, Chromium, was the only web browser to use the new browser plug-in model.[34] As of 2020, Pepper is supported by Chrome, Chromium and Blink layout engine-based browsers such as Opera and Microsoft Edge.

In August 2020, Google announced that support for PPAPI would be removed from Google Chrome and Chromium in June 2022.[35]

PPAPI in Firefox edit

Firefox developers stated in 2014 that they would not support Pepper, as there were no full specification of the API beyond its implementation in Chrome, which itself was designed for use with Blink layout engine only, and had private APIs specific to the Flash Player plugin which were not documented.[36] In October 2016 Mozilla announced that it had re-considered and was exploring whether to incorporate the Pepper API and PDFium in future releases of Firefox,[37] however no such steps were taken. In July 2017, Adobe deprecated Flash and announced its end-of-life in the end of 2020.[38] By January 2021, Adobe Flash Player, Google Chrome, Firefox, Safari, and Windows[39] received updates disabling or entirely removing Flash.

Applications edit

One website[40] used NaCL on the server to let users experiment with the Go programming language from their browsers.[41]

Reception edit

Some groups of browser developers supported the Native Client technology while others did not.

Supporters edit

Chad Austin (of IMVU) praised the way Native Client can bring high-performance applications to the web (with about 5% penalty compared to native code) in a secure way, while also accelerating the evolution of client-side applications by giving a choice of the programming language used (besides JavaScript).[42]

Id Software's John D. Carmack praised Native Client at QuakeCon 2012, saying: "if you have to do something inside a browser, Native Client is much more interesting as something that started out as a really pretty darn clever x86 hack in the way that they could sandbox all of this in user mode interestingly. It's now dynamic recompilation, but something that you program in C or C++ and it compiles down to something that's going to be not your -O4 optimization level for completely native code but pretty damn close to native code. You could do all of your evil pointer chasings, and whatever you want to do as a to-the-metal game developer."[43]

Detractors edit

Other IT professionals were more critical of this sandboxing technology as it had substantial or substantive interoperability issues.

Mozilla's vice president of products, Jay Sullivan, said that Mozilla has no plans to run native code inside the browser, as "These native apps are just little black boxes in a webpage. [...] We really believe in HTML, and this is where we want to focus."[44]

Mozilla's Christopher Blizzard criticized NaCl, claiming that native code cannot evolve in the same way that the source code-driven web can. He also compared NaCl to Microsoft's ActiveX technology, plagued with DLL Hell.[2]

Håkon Wium Lie, Opera's CTO, believed that "NaCl seems to be 'yearning for the bad old days, before the web'", and that "Native Client is about building a new platform – or porting an old platform into the web [...] it will bring in complexity and security issues, and it will take away focus from the web platform."[2]

Second generation edit

The second generation of sandboxing developed in Google is gVisor.[45][46] It is intended to replace NaCl in Google Cloud, to be more exact in Google App Engine. Google has also been promoting WebAssembly.[47]

See also edit

References edit

  1. ^ "Google's Native Client goes live in Chrome". The Register. 16 September 2011. Retrieved 12 March 2016.
  2. ^ a b c Metz, Cade (12 September 2011). "Google Native Client: The web of the future – or the past?". The Register. Retrieved 17 September 2011.
  3. ^ . Archived from the original on 8 February 2014. Retrieved 16 March 2014.
  4. ^ Rosenblatt, Seth (9 December 2011). . CNET. Archived from the original on 28 August 2012. Retrieved 9 December 2011.
  5. ^ "Google Code Blog: Games, apps and runtimes come to Native Client". Googlecode.blogspot.com. 9 December 2011. Retrieved 25 April 2012.
  6. ^ "NaCl and PNaCl".
  7. ^ "Bugs.chromium.org". 12 October 2016. Retrieved 12 October 2016.
  8. ^ a b "Goodbye PNaCl, Hello WebAssembly!". Chromium Blog. Retrieved 31 May 2017.
  9. ^ "WebAssembly Migration Guide - Google Chrome". developer.chrome.com. Retrieved 20 December 2018.
  10. ^ "Changes to the Chrome App Support Timeline". Chromium Blog. 10 August 2020.
  11. ^ Li, Abner (10 August 2020). "Google delays deprecation of Chrome Apps on all platforms". 9to5Google. Retrieved 2 October 2021.
  12. ^ "Google Native Client on Google Code". Retrieved 25 April 2012.
  13. ^ davemichael (3 October 2020). "GitHub - davemichael/NaCl-Quake: Quake for Native Client (based on the SDL Quake port)". GitHub.
  14. ^ "The Battle for Wesnoth".
  15. ^ "Index of /".
  16. ^ . Archived from the original on 8 December 2013. Retrieved 26 November 2013.
  17. ^ . Archived from the original on 12 March 2016. Retrieved 24 February 2016.
  18. ^ Chen, Brad (8 December 2008). "Native Client: A Technology for Running Native Code on the Web". Google-code-updates.blogspot.com. Retrieved 25 April 2012.
  19. ^ "The Chromium Blog: Native Client Brings Sandboxed Native Code to Chrome Web Store Apps". Blog.chromium.org. 18 August 2011. Retrieved 25 April 2012.
  20. ^ "Google Code Blog: Portable Native Client: The "pinnacle" of speed, security, and portability". blog.chromium.org. 12 November 2013. Retrieved 16 March 2014.
  21. ^ "Google's Native Client goes ARM and beyond". The H. 18 March 2010. Retrieved 19 May 2010.
  22. ^ (PDF). Archived from the original (PDF) on 2 May 2012. Retrieved 25 April 2012.
  23. ^ Sehr, David; Muth, Robert; Biffle, Cliff L.; Khimenko, Victor; Pasko, Egor; Yee, Bennet; Schimpf, Karl; Chen, Brad (2010). "Adapting Software Fault Isolation to Contemporary CPU Architectures". 19th USENIX Security Symposium. Retrieved 31 July 2011.
  24. ^ a b Yee, Bennet; Sehr, David; Dardyk, Greg; Chen, Brad; Muth, Robert; Ormandy, Tavis; Okasaka, Shiki; Narula, Neha; Fullagar, Nicholas (2009). "Native Client: A Sandbox for Portable, Untrusted x86 Native Code". IEEE Symposium on Security and Privacy (Oakland'09). Retrieved 31 July 2011.
  25. ^ "Native Client: Building". developer.chrome.com. Retrieved 16 March 2014.
  26. ^ "Technical Overview".
  27. ^ "Pepper Plugin API project at". Retrieved 25 April 2012.
  28. ^ "Chrome Source: Index of /trunk/src/ppapi". Src.chromium.org. Retrieved 25 April 2012.
  29. ^ "The road to safer, more stable, and flashier Flash". 8 August 2012. Retrieved 10 August 2013.
  30. ^ Metz, Cade (18 June 2010). "Google hugs Adobe harder with Chrome-PDF merge". The Register. Retrieved 25 April 2012.
  31. ^ "Getting Started: Background and Basics – The Chromium Projects". Chromium.org. Retrieved 25 April 2012.
  32. ^ "Pepper.wiki". 24 February 2012. Retrieved 25 April 2012.
  33. ^ "Release Notes".
  34. ^ Metz, Cade (13 May 2010). "Google heats up native code for Chrome OS". Theregister.co.uk. Retrieved 25 April 2012.
  35. ^ Anthony Laforge (10 August 2020). "Changes to the Chrome App Support Timeline". Chromium Blog.
  36. ^ Zbarsky, Boris. "Bug 729481 - Support the "Pepper" Plugin api". Retrieved 15 April 2016.
  37. ^ Metz, Cade (3 October 2016). "Project Mortar". Mozilla. Retrieved 30 October 2016.
  38. ^ . Adobe Inc. 25 July 2017. Archived from the original on 2 December 2017. Retrieved 31 July 2023.
  39. ^ Salter, Jim (4 May 2021). "Goodbye again, Flash—Microsoft makes removal from Windows 10 mandatory". Ars Technica. Retrieved 1 August 2023.
  40. ^ "The Go Playground".
  41. ^ "Inside the Go Playground - The Go Blog". blog.golang.org. Retrieved 27 August 2016.
  42. ^ Austin, Chad (8 January 2011). "Chad Austin: In Defense of Language Democracy (Or: Why the Browser Needs a Virtual Machine)". Chadaustin.me. Retrieved 25 April 2012.
  43. ^ Carmack, John (3 August 2012). "QuakeCon 2012". youtube.com. Retrieved 26 August 2012.
  44. ^ Metz, Cade (24 June 2010). "Mozilla: Our browser will not run native code". The Register. Retrieved 25 April 2012.
  45. ^ "Beta release of PHP 7.2 in the Google App Engine standard environment | Hacker News".
  46. ^ "Google/Gvisor". GitHub. 15 October 2021.
  47. ^ Avram, Abel (31 May 2017). "Google Is to Remove Support for PNaCl". InfoQ. Retrieved 1 August 2020. As a replacement, Google is now pushing WebAssembly.

External links edit

  • Official website  
  • "Issues - nativeclient". bugs.chromium.org. Retrieved 2 July 2022.
  • Google I/O 2013 - Introduction to Portable Native Client (PNaCl) on YouTube
  • Google I/O 2009 Native Code for Compute Intensive Web Apps on YouTube – Technical talk at Google I/O 2009
  • A list of OSS projects ported to Native Client
  • Native Client source code in Git

Examples edit

  • Folding@home
  • PNaCl examples (runs in Chrome 31+, PNaCl, i.e. no installation needed)
  • Native Client SDK Gallery
  • , vector editor, especially powerful for security printing (not PNaCl)
  • NACLBox, a port of DOSBox to Native Client (PNaCl)
  • SodaSynth, a synthesizer for Native Client (not PNaCl)
  • Abadía del crimen, a port of the SDL version of Vigasoco (remake of La Abadía del Crimen) to Native Client (PNaCl)
  • Bennugd, a port of Bennugd Videogames examples to Native Client (PNaCl)

google, native, client, google, nacl, redirects, here, networking, cryptography, library, nacl, software, nacl, discontinued, sandboxing, technology, running, either, subset, intel, mips, native, code, portable, executable, sandbox, allows, safely, running, na. Google NaCl redirects here For Networking and Cryptography library see NaCl software 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 It allows safely running native code from a web browser independent of the user operating system allowing web apps to run at near native speeds which aligns with Google s plans for ChromeOS It may also be used for securing browser plugins and parts of other applications or full applications 2 such as ZeroVM 3 Google Native ClientDeveloper s Google othersInitial release16 September 2011 12 years ago 2011 09 16 1 Stable releaseSDK Pepper 45 10 July 2015 8 years ago 2015 07 10 Clients Same as Google ChromeRepositorychromium wbr googlesource wbr com wbr native wbr client wbr src wbr native wbr client wbr gitWritten inC C Operating systemWindows Linux macOS ChromeOSPlatformx86 ARM MIPSSuccessorWebAssemblyTypeSandbox in web browsers for native codeLicenseNew BSDWebsitedeveloper wbr chrome wbr com wbr docs wbr native client wbr To demonstrate the readiness of the technology on 9 December 2011 Google announced the availability of several new Chrome only versions of games known for their rich and processor intensive graphics including Bastion no longer supported on the Chrome Web Store NaCl runs hardware accelerated 3D graphics via OpenGL ES 2 0 sandboxed local file storage dynamic loading full screen mode and mouse capture There were also plans to make NaCl available on handheld devices 4 5 Portable Native Client PNaCl is an architecture independent version PNaCl apps are compiled ahead of time PNaCl is recommended over NaCl for most use cases 6 The general concept of NaCl running native code in web browser has been implemented before in ActiveX which while still in use has full access to the system disk memory user interface registry etc Native Client avoids this issue by using sandboxing An alternative by Mozilla was asm js which 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 On 12 October 2016 a comment on the Chromium issue tracker indicated that Google s Pepper and Native Client teams had been destaffed 7 On 30 May 2017 Google announced deprecation of PNaCl in favor of WebAssembly 8 Although initially Google planned to remove PNaCl in first quarter of 2018 8 and later in the second quarter of 2019 9 it has been removed in June 2022 together with Chrome Apps 10 11 Contents 1 Overview 2 Pepper 2 1 PPAPI 2 1 1 PPAPI in Firefox 3 Applications 4 Reception 4 1 Supporters 4 2 Detractors 5 Second generation 6 See also 7 References 8 External links 8 1 ExamplesOverview editNative Client was an open source project developed by Google 12 Games such as Quake 13 XaoS Battle for Wesnoth 14 Doom 15 Lara Croft and the Guardian of Light 16 From Dust 17 and MAME as well as the sound processing system Csound have been ported to Native Client Native Client has been available in the Google Chrome web browser since version 14 and has been enabled by default since version 31 when the Portable Native Client PNaCl pronounced pinnacle was released 18 19 20 An ARM implementation was released in March 2010 21 x86 64 IA 32 and MIPS were also supported To run an application portably under PNaCl it must be compiled to an architecture agnostic and stable subset of the LLVM intermediate representation bytecode 22 The executables are called PNaCl executables pexes The PNaCl Toolchain makes pexe files NaCl Toolchain nexe files The magic number of nexe files is 0x7F E L F which is ELF In Chrome they are translated to architecture specific executables so that they can be run NaCl uses software fault detection and isolation for sandboxing on x86 64 and ARM 23 The x86 32 implementation of Native Client is notable for its novel sandboxing method which makes use of the x86 architecture s rarely used segmentation facility 24 Native Client sets up x86 segments to restrict the memory range that the sandboxed code can access It uses a code verifier to prevent use of unsafe instructions such as those that perform system calls To prevent the code from jumping to an unsafe instruction hidden in the middle of a safe instruction Native Client requires that all indirect jumps be jumps to the start of 32 byte aligned blocks and instructions are not allowed to straddle these blocks 24 Because of these constraints C and C code must be recompiled to run under Native Client which provides customized versions of the GNU toolchain specifically GNU Compiler Collection GCC GNU Binutils and LLVM Native Client is licensed under a BSD style license Native Client uses Newlib as its C library but a port of GNU C Library GNU libc is also available 25 Pepper editSee also NPAPI PPAPI NaCl denotes sodium chloride common table salt as a pun the name of pepper was also used Pepper API is a cross platform open source API for creating Native Client modules 26 Pepper Plugin API or PPAPI 27 28 is a cross platform API for Native Client secured web browser plugins first based on Netscape s NPAPI then rewritten from scratch It was used in Chromium and Google Chrome to enable the PPAPI version of Adobe Flash 29 and the built in PDF viewer 30 PPAPI edit On 12 August 2009 a page on Google Code introduced a new project Pepper and the associated Pepper Plugin API PPAPI 31 a set of modifications to NPAPI to make plugins more portable and more secure 32 This extension is designed specifically to ease implementing out of process plugin execution Further the goals of the project are to provide a framework for making plugins fully cross platform Topics considered include Uniform semantics for NPAPI across browsers Execution in a separate process from the renderer browser Standardize rendering using the browser s compositing process Defining standardized events and 2D rasterizing functions Initial attempt to provide 3D graphics access Plugin registry The Pepper API also supports Gamepads version 19 and WebSockets version 18 33 As of 13 May 2010 update Google s open source browser Chromium was the only web browser to use the new browser plug in model 34 As of 2020 Pepper is supported by Chrome Chromium and Blink layout engine based browsers such as Opera and Microsoft Edge In August 2020 Google announced that support for PPAPI would be removed from Google Chrome and Chromium in June 2022 35 PPAPI in Firefox edit Firefox developers stated in 2014 that they would not support Pepper as there were no full specification of the API beyond its implementation in Chrome which itself was designed for use with Blink layout engine only and had private APIs specific to the Flash Player plugin which were not documented 36 In October 2016 Mozilla announced that it had re considered and was exploring whether to incorporate the Pepper API and PDFium in future releases of Firefox 37 however no such steps were taken In July 2017 Adobe deprecated Flash and announced its end of life in the end of 2020 38 By January 2021 Adobe Flash Player Google Chrome Firefox Safari and Windows 39 received updates disabling or entirely removing Flash Applications editOne website 40 used NaCL on the server to let users experiment with the Go programming language from their browsers 41 Reception editSome groups of browser developers supported the Native Client technology while others did not Supporters edit Chad Austin of IMVU praised the way Native Client can bring high performance applications to the web with about 5 penalty compared to native code in a secure way while also accelerating the evolution of client side applications by giving a choice of the programming language used besides JavaScript 42 Id Software s John D Carmack praised Native Client at QuakeCon 2012 saying if you have to do something inside a browser Native Client is much more interesting as something that started out as a really pretty darn clever x86 hack in the way that they could sandbox all of this in user mode interestingly It s now dynamic recompilation but something that you program in C or C and it compiles down to something that s going to be not your O4 optimization level for completely native code but pretty damn close to native code You could do all of your evil pointer chasings and whatever you want to do as a to the metal game developer 43 Detractors edit Other IT professionals were more critical of this sandboxing technology as it had substantial or substantive interoperability issues Mozilla s vice president of products Jay Sullivan said that Mozilla has no plans to run native code inside the browser as These native apps are just little black boxes in a webpage We really believe in HTML and this is where we want to focus 44 Mozilla s Christopher Blizzard criticized NaCl claiming that native code cannot evolve in the same way that the source code driven web can He also compared NaCl to Microsoft s ActiveX technology plagued with DLL Hell 2 Hakon Wium Lie Opera s CTO believed that NaCl seems to be yearning for the bad old days before the web and that Native Client is about building a new platform or porting an old platform into the web it will bring in complexity and security issues and it will take away focus from the web platform 2 Second generation editThe second generation of sandboxing developed in Google is gVisor 45 46 It is intended to replace NaCl in Google Cloud to be more exact in Google App Engine Google has also been promoting WebAssembly 47 See also edit nbsp Free and open source software portalApplication virtualization Emscripten Sandboxie running Windows programs in a sandbox WebAssembly a bytecode standard for web browsers XAML Browser Applications XBAP References edit Google s Native Client goes live in Chrome The Register 16 September 2011 Retrieved 12 March 2016 a b c Metz Cade 12 September 2011 Google Native Client The web of the future or the past The Register Retrieved 17 September 2011 ZeroVM Architecture Archived from the original on 8 February 2014 Retrieved 16 March 2014 Rosenblatt Seth 9 December 2011 Native Client turns Chrome into high end gaming platform CNET Archived from the original on 28 August 2012 Retrieved 9 December 2011 Google Code Blog Games apps and runtimes come to Native Client Googlecode blogspot com 9 December 2011 Retrieved 25 April 2012 NaCl and PNaCl Bugs chromium org 12 October 2016 Retrieved 12 October 2016 a b Goodbye PNaCl Hello WebAssembly Chromium Blog Retrieved 31 May 2017 WebAssembly Migration Guide Google Chrome developer chrome com Retrieved 20 December 2018 Changes to the Chrome App Support Timeline Chromium Blog 10 August 2020 Li Abner 10 August 2020 Google delays deprecation of Chrome Apps on all platforms 9to5Google Retrieved 2 October 2021 Google Native Client on Google Code Retrieved 25 April 2012 davemichael 3 October 2020 GitHub davemichael NaCl Quake Quake for Native Client based on the SDL Quake port GitHub The Battle for Wesnoth Index of Chrome Web Store Lara Croft and the Guardian of Light Archived from the original on 8 December 2013 Retrieved 26 November 2013 From Dust Archived from the original on 12 March 2016 Retrieved 24 February 2016 Chen Brad 8 December 2008 Native Client A Technology for Running Native Code on the Web Google code updates blogspot com Retrieved 25 April 2012 The Chromium Blog Native Client Brings Sandboxed Native Code to Chrome Web Store Apps Blog chromium org 18 August 2011 Retrieved 25 April 2012 Google Code Blog Portable Native Client The pinnacle of speed security and portability blog chromium org 12 November 2013 Retrieved 16 March 2014 Google s Native Client goes ARM and beyond The H 18 March 2010 Retrieved 19 May 2010 PNaCl Portable Native Client Executables PDF Archived from the original PDF on 2 May 2012 Retrieved 25 April 2012 Sehr David Muth Robert Biffle Cliff L Khimenko Victor Pasko Egor Yee Bennet Schimpf Karl Chen Brad 2010 Adapting Software Fault Isolation to Contemporary CPU Architectures 19th USENIX Security Symposium Retrieved 31 July 2011 a b Yee Bennet Sehr David Dardyk Greg Chen Brad Muth Robert Ormandy Tavis Okasaka Shiki Narula Neha Fullagar Nicholas 2009 Native Client A Sandbox for Portable Untrusted x86 Native Code IEEE Symposium on Security and Privacy Oakland 09 Retrieved 31 July 2011 Native Client Building developer chrome com Retrieved 16 March 2014 Technical Overview Pepper Plugin API project at Retrieved 25 April 2012 Chrome Source Index of trunk src ppapi Src chromium org Retrieved 25 April 2012 The road to safer more stable and flashier Flash 8 August 2012 Retrieved 10 August 2013 Metz Cade 18 June 2010 Google hugs Adobe harder with Chrome PDF merge The Register Retrieved 25 April 2012 Getting Started Background and Basics The Chromium Projects Chromium org Retrieved 25 April 2012 Pepper wiki 24 February 2012 Retrieved 25 April 2012 Release Notes Metz Cade 13 May 2010 Google heats up native code for Chrome OS Theregister co uk Retrieved 25 April 2012 Anthony Laforge 10 August 2020 Changes to the Chrome App Support Timeline Chromium Blog Zbarsky Boris Bug 729481 Support the Pepper Plugin api Retrieved 15 April 2016 Metz Cade 3 October 2016 Project Mortar Mozilla Retrieved 30 October 2016 Flash amp The Future of Interactive Content Adobe Inc 25 July 2017 Archived from the original on 2 December 2017 Retrieved 31 July 2023 Salter Jim 4 May 2021 Goodbye again Flash Microsoft makes removal from Windows 10 mandatory Ars Technica Retrieved 1 August 2023 The Go Playground Inside the Go Playground The Go Blog blog golang org Retrieved 27 August 2016 Austin Chad 8 January 2011 Chad Austin In Defense of Language Democracy Or Why the Browser Needs a Virtual Machine Chadaustin me Retrieved 25 April 2012 Carmack John 3 August 2012 QuakeCon 2012 youtube com Retrieved 26 August 2012 Metz Cade 24 June 2010 Mozilla Our browser will not run native code The Register Retrieved 25 April 2012 Beta release of PHP 7 2 in the Google App Engine standard environment Hacker News Google Gvisor GitHub 15 October 2021 Avram Abel 31 May 2017 Google Is to Remove Support for PNaCl InfoQ Retrieved 1 August 2020 As a replacement Google is now pushing WebAssembly External links editOfficial website nbsp Issues nativeclient bugs chromium org Retrieved 2 July 2022 Google I O 2013 Introduction to Portable Native Client PNaCl on YouTube Google I O 2009 Native Code for Compute Intensive Web Apps on YouTube Technical talk at Google I O 2009 A list of OSS projects ported to Native Client Native Client source code in GitExamples edit Folding home PNaCl examples runs in Chrome 31 PNaCl i e no installation needed Native Client SDK Gallery torapp info vector editor especially powerful for security printing not PNaCl NACLBox a port of DOSBox to Native Client PNaCl SodaSynth a synthesizer for Native Client not PNaCl Abadia del crimen a port of the SDL version of Vigasoco remake of La Abadia del Crimen to Native Client PNaCl Bennugd a port of Bennugd Videogames examples to Native Client PNaCl Retrieved from https en wikipedia org w index php title Google Native Client amp oldid 1177311061 Portable Native Client, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.