JavaScript : Safari fait la course en tête

Christophe Laporte |
Avoir le moteur JavaScript le plus performant possible est actuellement l'une des principales obsessions des développeurs de navigateurs web. Alors, lequel est le plus rapide à ce jeu-là ?

Zimbra, société récemment rachetée par Yahoo, à qui l'on doit un puissant logiciel serveur collaboratif du même nom, a procédé à une batterie de tests avec la partie client de sa solution qui dispose d'une interface AJAX.

browserwars-winner-total_time


La conclusion est sans appel : Safari 3.1 s'impose assez nettement face à Firefox 2/3. À noter qu'Internet Explorer est très très en retrait dans ce domaine.

Webkit doté de son nouveau moteur JavaScript, SquirrelFish (lire : Safari : un coup de turbo pour JavaScript), devance légèrement Safari 3.1. Mais selon les ingénieurs de Zimbra, le nouveau moteur JavaScript d'Apple a encore une belle marge de progression devant lui.
avatar poulpi | 

Alors, je ne comprends vraiment pas l'intéret que suscite chez les créateurs de browsers le javascript.
Certes j'aime beaucoup développer en js, mais ca me semble un langage terriblement limité.
est ce que ca ne serait pas un argument purement commercial ?
parceque, ce qui fait le plus ramer sur un site en ajax; c'est pas vraiment le js, mais la gestion de base de données qui est derriere. les serveurs sont plus vite ko, face a des requetes des miliers d'utilisateurs plutot que le navigateur client et sa gestion du javascript. hormis si c'est programmé par un gnou avec des moufles.
bref, tout ca me fait plus penser que chacune des firmes suscités ne se sert de son score, que pour se la raconter avec un truc donc n'importe quel utilisateur n'a strictement rien a carrer, et qui ne changera jamais rien a son utilisation du web.
bref, du commercial pur et dur.

avatar Jerry Khan | 

ca s'appelle donner (ou prendre ca depend ou on se place) une claque en langage courant.

avatar 2Bad | 

Et Opera? Un des navigateurs les plus en vogue!!!

2Bad

avatar beus | 

Salut tout le monde,

Je tiens à réagir après le message de poulpi :
Le futur du web c'est inmanquablement le javascript, qui est un language très sous estimé, alors qu'il est maléable, et très agréable à programmer quand on a des bons outils (en l'occurence eclipse + aptana et firebug sur firefox).
Moi qui faisait 100 % de php il y a 3 ans, je suis aujourd'hui à plus de 75 % de temps de prog sur du javascript.

avatar oomu | 

c'est simple

on s'achemine vers le développement d'applications quasi native à l'os , mais en js+html+css

Or, JS est un langage TRES puissant : entièrement dynamique, objet (réellement, pas comme c++), faiblement typé,

il n'est pas "limité", bien au contraire, il a encore moins de limitations que objective-C (ce qui est peu dire) mais il n'a pas de bibliothèque aussi fournie que Cocoa, avec le navigateur. Lacune qui est un travail en cours de normalisation.

-
bref, la vitesse d'interprétation et exécution du javascript va devenir critique. Toute l'interface js sera coté client. alors bien sur les communications avec le serveur ont un coût et sont importantes aussi, mais une interface fluide, exécutée rapidement après son chargement, et des traitements locaux efficaces sont importants, très importants, ils en deviennent critiques à l'heure des googles apps et mobileme.

Mozilla et Apple le savent. Leur but est l'obsolescence de AIR (adobe) et Silverlight (Microsoft) avant même qu'ils aient eu le temps de rendre propriétaire le web.

D'où la course. Félicitez en vous. Vous aurez de meilleurs logiciels en bouts de courses, capable de manger de nouveaux services internets.

-
je réfute l'argument "du commercial pur et dur, bouh le monde est méchant plein de cynisme capitaliste nanana" , Si Apple investi du temps ingénieur à écrire un pseudo-compilateur "just in time" pour javascript, au lieu du traditionnel Interpréteur en arbre ce n'est pas pour faire plaisir aux hippies, ni pour faire "commercial"

ho dié, je veux voir la pub "mr , madame, apple c'est bon, parce qu'on a le temps d'exécution de Javascript le plus court du marché, grâce à notre moteur à bytecode!"

tudieu ! non, apple fera une pub genre " nous rockons sur internet, yeah, admirez les nouveaux services internet et combien c'est speEeEED hhIIiiiii" vla ce qu'ils feront (enfin sur leur site web, pas à la télé, haha)

Grâce à CES efforts

Voir "Sproutcore" en action permet de saisir.

avatar oomu | 

@Beus :

même évolution de mon coté. les progrès autour de js et dans le navigateur sont stupéfiants.

avatar beus | 

Le seul réel bémol qu'il est important de souligner est qu'il faut encore penser aux utilisateurs d'internet explorer quand on développe des applis web front avec beaucoup de javascript, ce qui à mon avis ralentit fortement l'ascension de ce langage dans l'estime des web developpers

avatar françois bayrou | 

Pour avoir testé le site www.280slides.com (un Keynote en javascript) sur Safari Mac d'un côté et sur IE Win de l'autre, la différence est flagrante. Sous IE, non seulement on a une mise en page pétée, mais la lenteur rend l'ensemble très désagréable à utiliser voire inutilisable. Tandis que sous safari l'interface répond sans lag aux actions, c'est impressionnant.

La bataille s'annonce féroce et les concurrents jouent leurs jokers respectifs : flash / air bientôt en opensource http://www.adobe.com/openscreenproject/ et silverlight poussé au maximum par microsoft (qui fait la grosse connerie de sortir des plugins non retrocompatibles...)

avatar misterbrown | 

et il gagne quoi l utilisateur?

Parce que moi, a part que ca bouffe toutes les ressources de mon cpu, flash ( air) ne me gene pas.
Et l hégémonie d adobe et son 95% de pdm ne me dérange pas.

Alors oui, solution mobile=économies d énergies= baisse utilisation cpu..
Mais a part cela?

avatar Dr_cube | 

Je suis entièrement d'accord avec oomu. Le JavaScript est un langage très puissant, et on a tout intérêt à la rendre plus rapide. Ca fait 8 ans que j'attends des navigateurs assez performants pour voir les merveilles qu'on peut faire en JavaScript. On commence à en voir arriver (280slides est un bon exemple).

avatar Manu | 

@misterbrown
L'utilisateu gagne quoi? tout simplement des services web performants. Des années durant on a reprocher (à juste titre) à Apple de persister sur ses technologies propriétaires (ce qui a failli lui couter son existence). Elle a aujourd'hui pris un virage à 360° et est à fond impliqué dans les projets open source c'est très bien.

Les applis web montreront leur puissance avec au départ celles de Mobile me. C'est à mon avis un mouvement qui ne fait que commencer. Apple avec Safari et surtout l'iPhone dispose d'une plate-forme assez solide.

avatar MarcoAix | 

Moi qui ait été séduit par FF3, quand j'ai vu que certains sites en Ajax ramaient alors qu'ils s'affichaient bien sous Safari... je garde les 2 finalement.

avatar misterbrown | 

en meme temps, un virage a 360 °, tu reviens dans la meme direction...... ;)

avatar Cactaceae | 

Virage à 180° (ou 360° pour certains ^^) de la part d'Apple ??? Vous avez vu jouer ça où ? Allez, un petit effort, regardez le nombre de projets open source où Apple est impliquée (ne serait-ce que le cœur de OS X, Darwin), et pas depuis 5 minutes, mais depuis de longues longues années. Au contraire, Apple ne change pas d'un iota sa direction… et c'est tant mieux :)

avatar borbor (non vérifié) | 

p***ain faut être ingénieur pour passer les rond-points maintenant !
;-)

Blague à part, JS c'est bien, si c'est bien interprété tant mieux, moi j'en ai un peu marre des sites en flash qui bouffent tout le processeurs, me font m'enrhumer parce que les ventilos tournent à donf' et qu'en plus il n'y a rien à voir...
Je ne sais pas vous mais moi je me retrouve de plus en plus à zapper les sites en flash, si je n'en perçois pas l'intérêt dans les premières secondes.

avatar oomu | 

"tu me trahis?? mais tu fais un virage à 360 degrés !"
"-faire un virage à 360 degrés c'est revenir à son point de départ, crétin!"
"heu...
"crois moi sur parole..." BANG BANG!
(Last Action Hero)

-
Manu, en effet l'utilisateur a tout à gagner.

Flicker s'enrichira de fonctionnalités natives, MobileMe aura ses applications plus rapides et donc pourra se permettre d'être plus fonctionnelles, etc etc.

Et cela SANS besoin de 'plougains", les plougains c'est le mal. pourquoi ? parce que le plougain n'est pas en mesure de profiter de tout le navigateur (et encore moins du système d'exploitation). Devant fonctionner par une interface commune à tous les navigateurs, qui a été figé y a longtemps, il est bridé. citoyen de seconde catégorie.

De plus le plougain est hors du contrôle du concepteur du navigateur. Prenons "flash", c'est pour Apple ou Mozilla et même Microsoft , une gigantesque boîte noire. un truc qui est balancé dans le navigateur mais dont le navigateur peut rien savoir du fonctionnement interne.

Un risque, un danger, le plougain s'il fait une opération qui provoque une violation d'accès ou instruction erronée, y a pas d'autres choix que de tuer tout le navigateur web au passage.
C'est vrai avec flash, c'est vrai avec tout plougain web comme Silverlight, lecteur divx, applet java, etc.

-
L'idéal est d'étendre les fonctionnalités qu'offrent le Navigateur, nativement, normalisées et sous contrôle.

Ainsi Safari et Firefox liront/lisent du Mpeg4 h264, permettront de dessiner et d'animer, et offriront une base de donnée de stockages et toutes sortes de fonctionnalités efficaces pour le concepteur de logiciels.

avatar Frenchie | 

Le virage à 360° tout comme la révolution, consiste à faire un tour sur soi-même et à se retrouver au point de départ.

avatar fr1man | 

[quote]
Un risque, un danger, le plougain s'il fait une opération qui provoque une violation d'accès ou instruction erronée, y a pas d'autres choix que de tuer tout le navigateur web au passage.
C'est vrai avec flash, c'est vrai avec tout plougain web comme Silverlight, lecteur divx, applet java, etc.
[/quote]

Ce n'est plus vrai avec la dernière release de Java me semble t il.
Et à choisir, je préfère développer une application riche avec une bonne api comme Java, que de faire du javascript.
Chacun son truc.

avatar gloup gloup | 

[quote=oomu]Ainsi Safari et Firefox liront/lisent du Mpeg4 h264[/quote]

Grâce à quicktime qui lui aussi est un plugin comme Flash. ;-) Par contre il est prévu dans les futures versions de Firefox d'intégrer nativement la lecture des formats libres et ouverts comme OGG Vorbis pour le son et OGG Theora pour la vidéo. Je suppose que Safari va suivre le même chemin même si le format préféré d'Apple est le MP4.

Enfin il faut arrêter avec la comparaison flash/javascript, ce n'est pas du tout destiné au même usage. Javascript est utilisé pour ajouter une meilleure expérience utilisateur au sein des pages web et pour créer des webapps style mobileme, google mail, etc, pas pour faire des animations complexes. Il est possible de faire des animations de type flash mais alors il faut utiliser javascript avec SVG. Mais là encore on n'a pas la vidéo et IE ne gère pas SVG en standard (hélas)... ;-)

avatar Nordlaser | 

@ beus, mais, ça ne serait pas plutôt à eux de s'adapter ? (IE). Je veux dire, qui ne suit pas l'évolution, meurt. C'est une question franche.

avatar HyperB | 

- Avec Javascript et le toutim, est-il possible de jouer avec une vidéo qui comporterait une couche alpha et de l'intégrer dans un site, éventuellement la déplacer et de la rendre interactive ? (déclencher une action à la seconde 12 par exemple) ?

- Avec Flash, un graphiste peut se débrouiller un minimum pour obtenir quelque chose de sympa. En javascript etc., aura-t-on une solution créative, ou est-on parti pour quelques années encore de sites geek non créatifs, inspirés des millions de blogs sans saveur ? Le web peut être informartif, mais parfois aussi artistique : le web qui ne "sert à rien", mais que l'on aime visiter pour se faire plaisir. Qu'en est-il de celui-ci ? Va-t-il disparaître ?

avatar misterbrown | 

@ HyperB

Je suis d accord. Et c est dans le web 2.0 et la " blog attitude" que je trouve que l amateurisme et la créativité du début n est plus la..

avatar HyperB | 

@misterbrown

Le problème est que Flash est lynché par les geeks qui tentent de nous prouver qu'on fait aussi bien avec javascript + SVG en nous faisant des demo qui ressemblent à ce que faisaient Flash 3. C'est archi-nul artistiquement parlant, et on voit franchement que l'un ne remplace pas l'autre.
Quand je vais sur le site d'une grande marque de parfum ou de fringues, j'adore découvrir les interfaces en flash, c'est souvent super bien trouvé, ça flatte l'oeil et l'oreille...
Mais le geek chevelu n'en a que faire... il regarde sa jauge de CPU de peur de dépasser les 5% de CPU. C'est juste triste.

Par contre, dans le cas d'une application sur le web, effectivement ajax a sa place. Mais franchement faire une composition graphique mouvante en javascript, quelle perte de temps...

Il faut que les 2 vivent, pour que le web ressemble à autre chose qu'à un OS...

CONNEXION UTILISATEUR