BT
x Votre opinion compte ! Merci de bien vouloir répondre au sondage InfoQ concernant vos habitudes de lecture !

PNaCl: Google ajoute plus de support natif dans Chrome via LLVM

par Abel Avram , traduit par Antoine Rouaze le 05 juil. 2013 |

Google étend le support des applications natives dans Chrome en lui permettant de faire fonctionner du code binaire LLVM.

Google continue à pousser le support de l'exécution des applications natives dans Chrome en annonçant le prévu PNaCI ou NaCI Portable - lire comme «pinacle», au cours de la Google I/O 2013. PNaCl instaure un changement dans l'ensemble des outils : au lieu de compiler du C/C++ pour chacune des plates-formes matérielles ciblées, les développeurs doivent maintenant générer un seul code binaire LLVM qui est chargé par le client Chrome, traduit en code natif, validé et appliqué localement.

Actuellement, PNaCl est pris en charge par Chrome 29 pour les architectures x86 32 bits, x86 64 bits et ARM. Les clients seront en mesure d'exécuter des modules natifs sur n'importe quelle page Web - pas besoin de les packager dans des applications pour Chrome Web Store -, quand elle est entièrement publiée. De plus, les modules PNaCl pourront fonctionner sur les futures architectures sans recompilation. Ce qui est plus intéressant, c'est que même si seulement le C/C++ est actuellement pris en charge, les modules PNaCl peuvent être écrits théoriquement dans n'importe quels langages qui peuvent être compilés en code binaire LLVM, y compris l'ActionScript, l'Ada, le D, le Fortran, le Haskell, le bytecode Java, l'Objective-C, le Python, le Ruby, le Rust, le Scala et le C #. Cela élargit la gamme des langages et des applications natives qui peuvent être exécutés dans Chrome avec peu ou aucune adaptation.

PNaCl a été proposé en interne par une équipe de 4 ingénieurs de Google en 2010 (PDF, les auteurs ont envisagé une solution qui :

  • Fournit un format ISA-neutre pour les modules NaCl compilés supportant une grande variété de plates-formes cibles sans recompilation depuis les sources ;
  • Rend facile pour les développeurs de construire, de tester et de déployer des modules portables exécutables ;
  • Supporte initialement les instructions x86-32, x86-64 et ARM, mais simplifie dans le future le support des autres processeurs populaires ;
  • Préserve les propriétés de sécurité et de performance des clients natifs ;

PNaCl utilise encore le mécanisme de sandbox NaCl d'origine qui vise à renforcer la sécurité lors de l'exécution de code binaire traduit comme le montre le graphique suivant :

L'ensemble des outils de développement fonctionne sur Windows, Mac et Linux. Un SDK est disponible sur le site web du projet.

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Contenu Éducatif

Rien ne serait possible sans le soutien et la confiance de nos Sponsors Fondateurs:

AppDynamics   CloudBees   Microsoft   Zenika
Feedback Général
Bugs
Publicité
Éditorial
InfoQ.com et tous les contenus sont copyright © 2006-2014 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT