Le navigateur permet d’exécuter des applications natives !

Ce titre ne vous évoque peut être rien, mais pourtant, c’est un changement fort !

Au début, le navigateur, c’est pour afficher des documents Web en HTML.

Mais la tendance, depuis pas mal de temps en fait, c’est de « tout faire passer par le navigateur ».

C’est une « guerre », que j’avais appelé, il y a quelques années, la guerre des pixels.

La question est : qui contrôle les pixels sur les écrans des clients ?

Normalement, quand on achète un PC, c’est le système d’exploitation qui « règne » sur les pixels.

Mais si on fait tout passer par le navigateur, le système d’exploitation est « masqué », et celui qui a la main, c’est le navigateur.

C’est bien l’enjeu du Chromebook…

Et c’est aussi comme cela que j’analyse l’annonce de Google, de permettre de faire tourner des applications C ou C++ directement dans le navigateur.

En fait, le navigateur se comporte comme une sorte de machine virtuelle, dans laquelle il est possible d’exécuter du code natif.

Natif ? Natif pour le processeur. Il faudra donc compiler une version différente pour chaque type de processeur.

Par contre, le navigateur recouvre l’ensemble des accès du système d’exploitation. Il n’y a aucun lien entre l’application et ce système, ce qui permet au code généré de tourner sur n’importe quel OS.

C’est, de mon point de vue, une étape majeure, qui permet de renforcer le « pouvoir » du navigateur par rapport au système d’exploitation.

Au fait, ça sert à quoi de faire tourner des applications natives ?

Avec Javascript, on peut déjà faire à peu près tout ce qu’on veut. C’est vrai, mais ça rame. ça rame forcément, par rapport à un code natif, parce que Javascript arrive dans l’ordinateur au format texte, qu’il faut analyser, compiler à la volée et exécuter. Tout cela étant bien plus lent que l’exécution d’un code natif. Pour s’en convaincre, il suffit de faire tourner de belles démos HTML5, et de surveiller la consommation CPU… Le résultat est clair : Javascript est terriblement gourmand en ressource CPU. L’exécution d’un code natif devrait régler ce problème.

Tient, au fait, pour mémoire, cette idée n’est pas si nouvelle que ça… Microsoft avait proposé de faire tourner des applications directement dans IE (ActiveX). ça marchait bien mais c’était basé sur une techno propriétaire et n’offrait aucune sécurité. Si l’application voulait reformater le disque, cela ne posait aucun problème.

Une autre alternative, c’est Java, avec les Applets. Cela fonctionne, mais c’est moins performant, puisque le java n’est pas natif par rapport au processeur. Et puis, c’est comme ça, Java n’a pas su s’imposer comme langage universel client (cela reste une solution pro côté serveur).

La proposition de Google semble corriger tous ces problèmes. Maintenant, pour que ça soit une techno vraiment intéressante, il faut qu’elle soit mise en oeuvre sur les autres navigateurs.

Voici une vidéo de présentation par Google :

(via ReadWriteWeb)

2 commentaires

  1. Aujourd’hui, il est vrai que la séparation entre navigateur et système d’exploitation devient plus floue. Il y a un travail par le W3C pour produire des spécifications sur des API permettant de donner un contrôle renforcé du navigateur sur le hardware pour les mobiles et de l’autre coté Mozilla a lancé le projet « Boot to gecko » qui consisterait à produire un OS pour mobile reposant sur des applications web. Quoi qu’il en soit, il est réjouissant de voir que le web évolue vers quelque chose de plus riche.

  2. Juste un rapide commentaire technique. Certaines notions sont mélangées :
    – Chromebook, c’est l’ordinateur
    – Chrome OS, c’est le système d’exploitation basé sur Chrome de Google qui effectivement peut exécuter des applications natives. C’est là qu’est la révolution, pas dans le Chromebook qui n’est finalement qu’un ordi tourné Cloud de plus.

    Cependant, les applications natives ne fonctionnent que sous Chrome OS. Le navigateur Chrome ne l’embarque que dans sa beta de la version 14 qui est disponible, la version définitive de Chrome 14 ne devrait d’ailleurs pas tarder à sortir je crois. Et les autres navigateurs. Rien. Aucun n’est capable de les exécuter. A l’instar il y a quelques années des applications XUL sous Firefox et ActiveX sous IE, encore plus ancien, c’est une techno intéressante mais non-portable. L’utiliser voudrait dire qu’on impose à ses clients d’utiliser Chrome, ou comment se fermer à plus de 50% du marché parce qu’ils ne l’ont pas, ne veulent/peuvent pas l’installer.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *