NaCl, Native Client

L'API client natif Native Client veut accélérer les applications Web au point de leur donner la vitesse des jeux en 3D, en permettant de faire tourner des logiciels programmés en langage C ou C++ ou autre langage dans le navigateur.
Cela permet aux applications Web d'exécuter du code natif compilé. Celui est sécurisé au même titre que JavaScript. Cela peut permettre au navigateur de constituer une alternative à l'interface Metro de Windows 8.

Native Client, en abrégé NaCl, est supporté depuis Chrome. Firefox le supporte grâce à un plugin. Google incite les développeurs de jeux à réaliser une version pour Chrome. Le framework Unity 3D permet déjà de générer automatiquement une version pour le navigateur.

Afin de rendre le code plus portable, les développeurs travaillent a interfacer NaCl avec le compilateur LLVM qui produit du code intermédiaire, compilé à son tour en code machine.

Noter que NaCl est aussi la formule du chlorure de sodium, autrement dit du sel de table. Du sel dans vos applications...

Logiciels utiles au développement

L'utilisateur n'aura pas besoin de ces outils. Pour développer sur Native Client, vous pourrez avoir besoin de ces logiciels.

LLVM 3.0 se rapproche de Native Client depuis le 2 décembre 2011. La nouvelle version de la plateforme de développement C++ facilite la création d'applications sous Native Client. Il était déjà possible de l'utiliser dans ce cadre, mais cela n'était pas prévu dans sa conception. Les choses ont évolué. Voir LLVM 3.0, ce qui change.

Créer sa plateforme de programmation pour Native Client

Ce mode opératoire peut évoluer avec le temps. Regarder dans le manuel Getting Started pour la dernière version.

  1. Télécharger le SDK Native Client propre à un système d'exploitation, parmi Windows, Linux ou MacOS.
  2. Créer un répertoire, par exemple nacl, et y désarchiver le contenu.
  3. Lire le manuel Getting started. (Anglais).
  4. Essayer une des démonstrations en ligne de commande.
  5. Bookmarker la page nacl/build/native_client.
    nacl est votre répertoire d'installation.
  6. Fermer les navigateurs supportant Native Client.
  7. Installer le plugin en ligne de commande avec scon.bat sous Windows et scon sous Unix.
    Pour cela, lancer scon.bat ou scon dans /nacl/build/native_client/
  8. Démarrer un serveur local comme Wamp.
  9. Tester avec la page de test:
    http://localhost:5103/scons-out/nacl-x86-32/staging/examples.html
    Qui est dans le répertoire /nacl/build/native_client/.

Avec Chrome 14, NaCl dispose d'une interface entre HTML 5 et le code natif nommée Pepper (Piment) ou plus précisément Pepper Plugin API, un nouveau système de plugin qui remplace le système actuel inventé par Netscape.

Sur les versions plus anciennes il faut activer NaCl. Taper about:flags dans la barre d'adresse de Chrome et aller à la rubrique native client. Cliquer sur enable.

Alternative à NaCl : Linux dans le navigateur

Grâce à un émulateur entièrement écrit en JavaScript, il est possible de faire tourner des programmes Linux en ligne de commande avec JSLinux.

Par exemple, essayez:

tcc -run hello.c

Puis taper ls pour voir les fichiers dans le répertoire.
Ou encore pour éditer le fichier:

emacs hello.c

Outils et ressources

Technologies de la programmation Ajax - API - Cassandra - CLI - Code HTTP - Cookie - Cover Flow - Dalvik - DFA - .NET - EDI (ou IDE) - Flash - GUI - JavaFX - JNA - JSON - MySQL - NaCl - NoSQL - Protocol Buffers - Qt - REST - Servlet - Web 2.0 - WebGL - Webkit - WinRT - Wysiwyg