Penser au navigateur lors de la conception d’une RIA

La tendance Cloud semble se confirmer. Smals pourrait être amenée à développer ses applications pour les redistribuer sous forme SaaS.
Un des aspects important du SaaS est la qualité de l’interface utilisateur réalisée au moyen des technologies RIA. Un point essentiel des interfaces RIA est la réactivité de l’interface. Lorsque l’on utilise du Javascript, il faut actuellement faire des choix lourds de conséquences : créer une application performante et respectueuse des standards du Web ou faire une application qui s’exécute bien sous Internet Explorer.
Idéalement, pour qu’une RIA s’exécute correctement, le browser doit avoir 2 qualités :
  • Respecter les standards
  • Un moteur javascript puissant
Une petite comparaison a été réalisée entre 4 navigateurs :
  • Google Chrome 6
  • Firefox 3.6
  • Internet Explorer 7
  • Firefox 4.0 beta 6 (Merci à Marius pour ces résultats)
3 tests ont été réalisés :
  • Acid test 3 : test de diverses fonctionnalités issues de plusieurs standards du Web (100 points maximum)
  • Html 5 test : test des fonctionnalités HTML 5 ( 300 points maximum)
  • Sunspider : test de performances JavaScript (temps en ms : plus le temps est faible, mieux c’est)
Voici à présent les résultats…

Google Chrome 6

Firefox 3.6

Internet Explorer 7

Firefox 4 beta 6

De ces tests, il apparaît clairement qu’IE7 (version d’IE actuellement par défaut chez Smals) est nettement en retrait à tout point de vue. IE7 est encore très utilisé et pose un réel problème. Cela oblige les développeurs à faire un choix entre utiliser les standards du web ou faire un site compatible IE. Autre gros problème : les performances. IE7 s’est avéré environ 80 fois plus lent que Chrome (cf sunspider). Faire une application complexe en Javascript qui soit réactive sous IE7 est donc une tâche difficile.

De son côté, Google a choisi de ne plus supporter certains browsers vraiment trop contraignants tels que IE6. Il n’est pas inconcevable que IE7 soit bientôt abandonné à son tour. Il ne faut cependant pas perdre de vue que Chrome est un browser développé par Google, il est donc normal que ce dernier le favorise par rapport aux concurrents.

Microsoft est conscient de ce problème et de sérieux efforts seront apportés dans la version 9 (actuellement en bêta).

Les 2 images ci-dessous montrent quelques résultats pour IE9 (qui récolterai entre 80 et 90 points au test HTML5)

La migration vers IE9 sera donc très recommandée en termes de performances et de respect des standards.

Il y a cependant 2 gros problèmes. Le premier est que IE9 ne sera disponible que pour Windows Vista et Windows 7.

Le second est le poid du passé. Il est fort probable certaines applications aient été développées pour fonctionner sur IE 6 ou 7. C’est à dire développées “au détriment” des standards du Web. Le passage à un browser respectant les standards pourra s’avérer problématique.

Une solution intermédiaire consisterait à utiliser 2 browsers :

  • Une version “legacy” d’IE (6-7-8)
  • Un browser plus moderne et performant (Chrome, Safari, Opera, Firefox)

Quoiqu’il en soit, le développement d’interface RIA au moyen de javascript nécessitera de faire des choix importants. Il est aussi possible d’opter pour une technologie indépendante du browser telle que Flex, mais le gros inconvénient de ce dernier est sa sécurité qui est souvent remise en cause par les hackers.


More posts