Quand on parle d’interfaces riches, il faut parler des technologies permettant de les mettre en oeuvre.
L’une des technologies phare, c’est le Flash.
On connait tous plus ou moins Flash, mais on parle de plus en plus de Flex.
Quelle est la différence ?
Qu’apporte Flex par rapport à Flash ?
Flash recouvre plusieurs choses :
- Un format de fichier, le SWF, qui contient le média animé proprement dit (les images, les annimations, les films, …) ;
- Un éditeur : c’est une application Mac ou PC, qui permet de créer des fichier Flash (SWF donc). L’éditeur est orienté design. On pose des images, des objets graphiques, sur une time -line, et on déplace les objets graphiques sur l’échelle de temps ;
- Un player : c’est l’application qui permet de lire le Flash. On peut lire un fichier SWF avec une application spécifique, mais le plus souvent, on utilise un plug-ins, intégré au navigateur. C’est donc le navigateur qui joue le rôle de player Flash.
- Un langage de programmation : ActionScript. On écrit ses programmes depuis l’éditeur, et le langage est interprété par le player.
Flash est donc un ensemble permettant de réaliser des interfaces riches et animées. Flash est orienté design.
Et Flex alors ?
Flex, c’est la déclinaison Flash pour les programmeurs.
Quand on fait du Flex, on travaille en fait sur le même format qu’avec Flash : le SWF.
Pour le client, le résultat est donc exactement le même : c’est un contenu Flash qui apparait dans le navigateur Internet.
La différence, c’est sur la façon dé générer ce fichier SWF.
Flex introduit un nouveau langage, le MXML.
C’est un langage qui permet de décrire l’application Flash que l’on souhaite, et les comportements associés.
On se retrouve donc à faire du Flash, sans l’éditeur graphique, mais plutôt depuis un environnement de développement (Eclipse, …).
Donc, si le résultat est le même, la façon de le faire est complètement différente, et complémentaire.
Dans la réalité d’un projet, les deux approches doivent cohabiter : la partie graphique pourra être réalisée avec l’éditeur Flash, et la partie dynamique pourra être réalisée avec Flex.