Cliente nativo de Google


Google Native Client ( NaCl ) es una tecnología de espacio aislado para ejecutar un subconjunto de código nativo Intel x86 , ARM o MIPS , o un ejecutable portátil, en un espacio aislado. Permite ejecutar código nativo de forma segura desde un navegador web , independientemente del sistema operativo del usuario , lo que permite que las aplicaciones web se ejecuten a velocidades casi nativas, lo que se alinea con los planes de Google para Chrome OS . También se puede usar para proteger los complementos del navegador y partes de otras aplicaciones o aplicaciones completas [2] como ZeroVM . [3]

Para demostrar la preparación de la tecnología, el 9 de diciembre de 2011, Google anunció la disponibilidad de varias versiones nuevas de juegos solo para Chrome conocidas por sus gráficos ricos y con un uso intensivo del procesador , incluido Bastion (que ya no es compatible con Chrome Web Store). NaCl ejecuta gráficos 3D acelerados por hardware (a través de OpenGL ES 2.0), almacenamiento de archivos local en espacio aislado, carga dinámica , modo de pantalla completa y captura del mouse . También hay planes para que el NaCl esté disponible en dispositivos portátiles. [4] [5]

Portable Native Client (PNaCl) es una versión independiente de la arquitectura. Las aplicaciones de PNaCl se compilan con anticipación . Se recomienda PNaCl sobre NaCl para la mayoría de los casos de uso. [6] El concepto general de NaCl (ejecutar código nativo en el navegador web) se implementó antes en ActiveX , que, mientras aún está en uso, tiene acceso total al sistema (disco, memoria, interfaz de usuario, registro, etc.) . Native Client evita este problema mediante el uso de sandboxing.

Una especie de alternativa a NaCl es asm.js , que también permite que las aplicaciones escritas en C o C++ se compilen para ejecutarse en el navegador (a más de la mitad de la velocidad nativa), y también admite la compilación anticipada, pero es un subconjunto de JavaScript y, por lo tanto, compatible con navegadores que no lo admiten directamente. Otra alternativa (aunque inicialmente puede funcionar con PNaCl) es WebAssembly .

El 12 de octubre de 2016, un comentario en el rastreador de problemas de Chromium indicó que los equipos Pepper y Native Client de Google habían sido eliminados. [7] El 30 de mayo de 2017, Google anunció la desaprobación de PNaCl a favor de WebAssembly . [8] Aunque inicialmente Google planeó eliminar PNaCl en el primer trimestre de 2018, [8] y luego en el segundo trimestre de 2019, [9] actualmente está planificado eliminarlo en junio de 2022 (junto con Chrome Apps). [10] [11]

Native Client es un proyecto de código abierto desarrollado por Google . [12] Hasta la fecha, Quake , [13] XaoS , Battle for Wesnoth , [14] Doom , [15] Lara Croft and the Guardian of Light , [16] From Dust , [17] y MAME , así como el sonido sistema de procesamiento Csound , han sido portados a Native Client. Native Client ha estado disponible en Google Chromenavegador web desde la versión 14, y se ha habilitado de forma predeterminada desde la versión 31, cuando se lanzó Portable Native Client (PNaCl, pronunciado: pinnacle). [18] [19] [20]