Google a décidé de mettre ce récent SDK dans les mains des développeurs afin qu'ils commencent à créer des applications Native Client. L'idée est d'introduire la technologie dans le navigateur Google Chrome, sans laquelle les applications restent inaccessibles aux utilisateurs. Google n'a pas donné d'estimation quant à la date à laquelle Native Client serait pris en charge par Chrome. « Notre objectif est de faire en sorte que cette technologie soit aussi portable et sûre que le JavaScript. En livrant aujourd'hui une première version remaniée du SDK Native Client, nous avons franchi une étape importante,» a déclaré dans un blog Christian Stefansen, membre de l'équipe Native Client de Google.

Les développeurs peuvent visualiser les API, consulter la documentation et avoir accès à des exemples pour écrire des modules en C ou C + + capables de communiquer avec du code JavaScript qui s'exécute dans un navigateur web. Le SDK améliore la sécurité, supprimant les restrictions d'hébergements locaux (local host) des versions précédentes. « Au-delà de la sécurité, nous avons également amélioré le mécanisme de récupération des modules Native Client sur la base du jeu d'instructions de la machine cible, afin que les développeurs ne soient plus préoccupés par cette question, » a déclaré le responsable de Google. Le kit de développement supporte également un ensemble d'interfaces nommées « Pepper, » qui ajoutent des fonctionnalités de calcul, audio, et 2D aux modules Native Client. Pepper permet aussi un meilleur accès aux plug-ins des systèmes de navigation.

Une sécurité renforcée par un code de validation

Le problème avec les applications natives, et avec les plug-ins, c'est le fait qu'ils accèdent à la totalité de la machine, et donc à tous les fichiers qu'elle contient. En conséquence, les utilisateurs doivent décider à quelles applications ils acceptent de faire confiance. Native Client de Google permet de déterminer un code pour les modules et de limiter l'accès à l'ordinateur d'un utilisateur. Notamment, NaCl offre des fonctionnalités de validation, de manière à empêcher l'exécution d'un module non valide. L'an dernier, Google avait livré un aperçu de son SDK. Dans les prochains mois, la firme de Mountain View prévoit d'ajouter des API pour la gestion graphique en 3D, le stockage de fichiers en local et le réseau peer-to-peer. Une ABI (Application Binary Interface) est également prévue. «Tant que l'ABI n'est pas stable, Native Client restera désactivée par défaut, » a déclaré Christian Stefansen. « Cependant, étant donné les progrès que nous avons fait, il est possible maintenant d'activer Native Client dans Chrome 10 via le menu « A propos des drapeaux. » Sinon, on peut continuer à utiliser la ligne de commande « flag » pour activer Native Client à la demande. »

Google a positionné Native Client comme une technologie destinée à permettre aux développeurs de profiter de la puissance du processeur du client et de créer des applications web plus riches et plus dynamiques, tout en préservant la neutralité de son navigateur, en s'assurant de la portabilité des OS et en améliorant la sécurité des applications. NaCl a été initialement construit pour être compatible avec des systèmes x86 en 32 et 64-bits tournant sous Windows, Mac OS ou Linux.