Google Native Client : vers un code natif exécuté à partir du navigateur
Sur un de ses blogs, Google évoque son projet de recherche Native Client qui devrait permettre d'exécuter du code natif depuis un navigateur. Certains modules applicatifs exploiteraient ainsi directement la puissance des postes de travail des internautes, sans que ceux-ci soient contraints de quitter leur navigateur pour autant. Pour expliquer son projet, l'éditeur prend l'exemple d'un site de partage de photos. Si un utilisateur veut manipuler ses images sans quitter le site Web, il peut disposer de la fonction idoine qui combinera du Javascript et du code sur le serveur. Mais cela implique de lourds et longs échanges de données, en l'occurrence d'images, entre le poste de travail et le serveur. L'exécution du code en mode natif sur la machine de l'internaute permettrait d'exploiter directement la puissance du poste client pour le traitement d'image et ainsi d'éviter les va-et-vient avec le serveur et les temps de latence associés. Google en appelle à la communauté Opensource pour gérer la sécurité Mais il reste à Google à résoudre les questions soulevées par de tels développements : l'indépendance vis à vis du navigateur, la portabilité sur les OS et surtout la sécurité des modules applicatifs natifs. Sur tous ces domaines et ce dernier sujet en particulier, le géant du moteur de recherche a décidé d'en appeler à la communauté open source. L'éditeur veut par exemple que ses modules Native Client soient exempts de certaines séquences d'instructions ou qu'ils respectent un ensemble de critères structurels qui permettent de les désassembler de façon fiable. Face à « l'importance considérable » de l'enjeu, il a donc décidé de partager sa technologie avec la communauté bien que le projet soit encore très en avance de phase. Le package en ligne mis à disposition des développeurs comprend un runtime de Native Client, un plugin pour navigateur et un ensemble d'outils de compilation GCC (GNU Compiler Collection). Google propose l'accès à une version de recherche et à son code source, ainsi qu'à une documentation détaillée. Il conseille de disposer de Python et de Firefox 3, même si aucun des deux n'est obligatoire. L'environnement ne nécessite par exemple pas Python mais l'éditeur a utilisé le langage pour écrire les scripts des premiers modules Native Client. Et ceux qui seront développés par les testeurs tourneront aussi bien sur Firefox, Safari, Opera, et Google Chrome sur n'importe quel Windows 'moderne', sur Mac ou Linux sur x86, pour l'instant.