Framework Javascript : Nouveaux concepts, nouvelles possibilités, ajax et unobtrusive
Par François Lasselin le mercredi, mars 5 2008, 10:05 - Technologie - Lien permanent
Pendant l'été 2007, Nalis a benchmarké 8 des principaux frameworks javascript. Cet état de l'art a permis d'analyser les différentes pistes actuellement disponibles et d'identifier les nouvelles possibilités offertes par ces frameworks. Enfin, l'étude a été couplée avec les contraintes récurrentes des projets (accessibilité, référencement, performance, sécurité).
On a déjà expliqué l'objet d'un framework (ici). Pour mémoire, un framework est une architecture, une norme de codage et un ensemble de composants.
Le langage javascript a été créé en 1995 en s'inspirant de nombreux langages, notamment du Java mais en en simplifiant la syntaxe. Ce langage, actuellement à la version 1.7 est une implémentation du standard ECMA-262. Le Java et le javascript sont souvent confondus.
De même que le HTML est interprété différemment en fonction le navigateur utilisé, le javascript l'est aussi. Le développement d'interfaces riches en DHTML cumule donc les handicaps.
Développer une grosse fonctionnalité en javascript suppose un important travail de test sur différents navigateurs. Les frameworks répondent en partie à cette difficulté en offrant un socle d'abstraction au navigateur utilisé.
Les frameworks testés :
Si on désactive le javascript, le tableau s'affiche toujours.
Point d'ajax dans ce modeste développement, il s'agit uniquement de DHTML (ou HTML dynamique) regroupant HTML, CSS et javascript pour dynamiser le comportement des pages.
Même exemple avec le "DataTable" de Yahoo User Interface Library. Au style près, le fonctionnement est le même:
Si on désactive le javascript ... il n'y a plus rien. En effet, les libraries yahoo utilisent des structures de données propres différentes des types de données classiques HTML. Ainsi, le tableau affiché par Yahoo, n'est pas un tableau HTML. On retrouve la même philosophie chez Javeline. Quelque part, on tombe dans les mêmes inconvénients que le Flash, Flex ou Silverlight: pas d'accessibilité, ni de référencement possible. Du coup, l'intérêt d'employer ces technologies est faible, même s'il semble qu'un développeur javascript soit plus facile à trouver qu'un développeur flash.
On peut employer le même type de script pour gérer la pagination, L'ensemble des données du tableau sont chargées en une fois et paginées par le javascript. Cette méthode limite le nombre d'appels vers le serveur sans que le volume de données chargées la première fois soit trop important. Dans le cas où le javascript est desactivé sur une version unobstusive, le tableau se charge dans sa totalité sans pagination. Ces enrichissements fonctionnent également sur des terminaux mobiles. Le navigateur de l'iPhone accepte tout à fait le javascript alors que le Flash n'est toujours pas supporté.
Les interfaces riches sont de plus en plus courantes sur le web. Si les technologies flash ou silverlight apparaissent à première vue comme des choix évidents, les contraintes d'accessibilités et de référencement favorisent l'adoption de technologies standard et ouvertes. Le sujet est vaste et va nécessiter des compléments. Toutefois, les frameworks javascript apportent des capacités d'animations jusque-là réservées au Flash. Il convient d'illustrer ces nouvelles capacités dans un prochain billet. Par ailleurs, les interfaces riches en javascript génèrent un volume de code relativement important dans un langage encore peu évolué (programmation objet notement). Aboutir dans des interfaces riches ambitieuses en DHTML nécessite une industrialisation des processus de production de code. A suivre ...
Les frameworks testés :
- Prototype : de loin le plus connu et le plus ancien. Bibliothèque bas-niveau
- Scriptaculous : basé sur Prototype. Permet de réaliser des effets visuels.
- Dojo : nombreux widget fournis mais obstrusif (voir plus loin)
- Rico : basé sur Prototype. Permet la réalisation d'effets visuels
- Mootools : permet la réalisation d'effets visuels
- Jquery : nombreux plug-in, documentation abondante
- Yahoo User Interface Library : peu d'informations en dehors du site yahoo.
- Javeline: gestion de fenêtre
Nom | Référence | Numéro | Etat |
---|---|---|---|
gfh df gh | Nalis | 9 | en cours |
dfgh dgh | test | 6 | en cours |
dfghd fgh | Aucun | 3 | 5 |
tsrhdsfg dgh | Axance / Nalis | 8 | en cours |
stgh zrt rtg sgdsfg | Orange | z42 | ar |
gfh dgfh | La Poste | 55 | en cours |
Si on désactive le javascript, le tableau s'affiche toujours.
Point d'ajax dans ce modeste développement, il s'agit uniquement de DHTML (ou HTML dynamique) regroupant HTML, CSS et javascript pour dynamiser le comportement des pages.
Même exemple avec le "DataTable" de Yahoo User Interface Library. Au style près, le fonctionnement est le même:
Si on désactive le javascript ... il n'y a plus rien. En effet, les libraries yahoo utilisent des structures de données propres différentes des types de données classiques HTML. Ainsi, le tableau affiché par Yahoo, n'est pas un tableau HTML. On retrouve la même philosophie chez Javeline. Quelque part, on tombe dans les mêmes inconvénients que le Flash, Flex ou Silverlight: pas d'accessibilité, ni de référencement possible. Du coup, l'intérêt d'employer ces technologies est faible, même s'il semble qu'un développeur javascript soit plus facile à trouver qu'un développeur flash.
On peut employer le même type de script pour gérer la pagination, L'ensemble des données du tableau sont chargées en une fois et paginées par le javascript. Cette méthode limite le nombre d'appels vers le serveur sans que le volume de données chargées la première fois soit trop important. Dans le cas où le javascript est desactivé sur une version unobstusive, le tableau se charge dans sa totalité sans pagination. Ces enrichissements fonctionnent également sur des terminaux mobiles. Le navigateur de l'iPhone accepte tout à fait le javascript alors que le Flash n'est toujours pas supporté.
Les interfaces riches sont de plus en plus courantes sur le web. Si les technologies flash ou silverlight apparaissent à première vue comme des choix évidents, les contraintes d'accessibilités et de référencement favorisent l'adoption de technologies standard et ouvertes. Le sujet est vaste et va nécessiter des compléments. Toutefois, les frameworks javascript apportent des capacités d'animations jusque-là réservées au Flash. Il convient d'illustrer ces nouvelles capacités dans un prochain billet. Par ailleurs, les interfaces riches en javascript génèrent un volume de code relativement important dans un langage encore peu évolué (programmation objet notement). Aboutir dans des interfaces riches ambitieuses en DHTML nécessite une industrialisation des processus de production de code. A suivre ...
Derniers commentaires
Grégoire Lecocq - mai 31 2018
Je suis sur Facebook pour ma propre pub. Mais Diaspora m'intéresse d'autant plus…
solution mobile entreprise - janvier 16 2018
Merci pour le partage d'informations. Il est très important pour une entreprise…
voip tech - décembre 1 2016
je veux votre contact technique pour réaliser un test a fin de créer un compte.…
abderrahmen - novembre 6 2015
je fais mes premiers pas sur Selenium.
abderrahmen - novembre 6 2015
bonjour , je fais mes premiers pas sur selenium.
Didier - octobre 4 2015
A signaler: les mini-ascenseurs foutent la m**de dans la programmation…