No se como se lo hacen, pero desde Google siempre consiguen sorprendernos sacándose de la manga proyectos que cambian el paradigma existente en ciertos sectores. Gmail fue un ejemplo de ello en los gestores de correo electrónico vía web.
Native Client quiere hacer algo parecido con Flash, Java,... ofreciendo una nueva manera de ejecutar código en el lado del cliente a través del navegador. Pero lo hace de una manera distintas: en lugar de ofrecer una máquina virtual permitirá a los desarrolladores que ejecuten directamente código nativo en el ordenador.
Actualmente, las aplicaciones web no pueden acceder a toda la potencia que ofrecen los ordenadores. Vemos como cada vez tenemos ordenadores más potentes, pero capas y más capas intermedias provocan que esta potencia se vea reducida a los mismos niveles con los que trabajábamos hace años.
La idea de Native Client es poder aprovechar el aumento de velocidad en los ordenadores desde la web. Esto permite ejecutar aplicaciones que, aunque ahora son factibles, pueden resultar demasiado pesadas, como editores de imágenes, juegos 3D,...
La arquitectura de Native Client es la de un compilador y un entorno de seguridad. El código se desarrolla en C o C++, se descarga a través del navegador y desde allí se compila y se ejecuta, tras pasar una serie de pruebas de seguridad que aseguren que no es capaz de afectar al resto del sistema.
Esto último será el factor más complicado de controlar, aunque la idea de Google es que la comunidad les ayude a hacerlo. Para ello, han lanzado Native Client como un sistema de código abierto y gratuito, además de ser independiente del navegador y del sistema operativo.
De momento funciona en Windows, Mac OS X y Linux, con los navegadores Firefox, Safari, Opera y Google Chrome, pero también quieren ofrecerla para otras plataformas hardware como ARM y PPC.
Es pronto para saber todavía hacia donde va a evolucionar esto, pero desde luego si estuvieran desarrollando un sistema operativo basado en web (algo rumoreado pero que yo no me creo), esta sería una de las mejores maneras de aumentar su potencia sin depender de soluciones de otros fabricantes como es el caso de Java o Flash.
Más información | Native Client.