Google prépare l’intégration de code natif au sein de Chrome

Le plug-in Native Client permet de lancer du code natif au sein des navigateurs web. Son SDK est dorénavant adapté à la nouvelle version du greffon, incluse dans Chrome 10.

Les ingénieurs de Google viennent de présenter une nouvelle version du kit de développement Native Client (accessible ici). Ce dernier est capable de tirer profit de la mouture du greffon Native Client présente au sein de la version bêta de Chrome 10. Elle est capable d’interagir en profondeur avec le navigateur (2D, 3D, lecture de flux audio, etc.), tout en prenant place au sein du bac à sable intégré à l’application. Le code natif ne pourra pas s’échapper de cet environnement protégé.

Le nouveau SDK permettra donc de créer des applications web natives plus évoluées et mieux sécurisées. Il reste toutefois limité aujourd’hui aux fonctions de base. La 3D, le stockage local des données, les sockets réseau et le P2P sont reportés à des versions ultérieures. Notez que le code compilé pour un environnement x86 restera compatible avec toutes les moutures x86 de Chrome ; Windows, Mac OS X et Linux. Aucune recompilation ne sera nécessaire.

Les premières applications exploitant Native Client tardent encore à arriver (on notera des portages de XaoS et de Quake), ce qui s’explique sans peine pour une technologie aussi expérimentale. On constate toutefois que les librairies glibc, Qt et SDL sont en cours d’adaptation pour Native Client. Et Mono 2.10 est également en mesure de compiler du code dédié à ce greffon.

Enfin, les versions internes d’Unity seraient d’ores et déjà capables de compiler du code pour Native Client. Traduction ; une énorme quantité de jeux pourra fonctionner sous Google Chrome avec très peu d’adaptations et sans installation d’un greffon complémentaire. Une recrue de choix pour le Chrome Web Store de Google.

A noter également: des projets périphériques étendent encore l’intérêt de ce plug-in. Ainsi, PNaCl permettra de diffuser du code générique qui sera adapté automatiquement à l’architecture processeur présente sur la machine de l’utilisateur. Le même programme pourra donc fonctionner sur un PC x86, ou sur un smartphone Android pourvu d’un processeur ARM. Pour les navigateurs ne disposant pas de Native Client, le code C/C++ pourra être directement compilé en JavaScript, via Emscripten.