Flash ou Flex ?

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.

15 commentaires

  1. Bel artcile : clair, net et precis! Tu pourrais aussi sans doute rajouter que Flex est tres posterieur a Flash… qui a meme commence sans ActionScript (donc uniquement visuel)!

  2. Pas d’accord quand tu dis « Flash est orienté design ».

    A ses débuts, Flash était orienté design. Mais depuis la version 6 et la syntaxe pointée, l’actionScript a pris beaucoup d’ampleur.
    Aujourd’hui, quand on parle de Flasheur, on parle plus d’animateur mais bien de « Développeur Flash ». Et même si l’interface permet toujours de faire de l’animation « à la main », tout est beaucoup plus orienté programmation.

  3. On pourrait rajouter aussi, que l’apport de Flex par rapport à Flash c’est aussi la possibilité d’avoir l’infrastructure Flex Data Services coté serveur =>
    Tandis que Flash permet essentiellement de jouer des contenus multimedia avec ou sans serveur de streaming de type FMS (Flash Media Server),
    Flex par l’intermédiaire du serveur Flex Data Services, permet en plus de s’interconnecter à un système d’information existant ce qui peut-etre utile dans des applications de e-commerce.

  4. On pourrait aussi ajouter que les fichiers swf « Flash » sont moins lisibles par les moteurs de recherche que dans le cas de Flex ou les pages contiennent écentuelement un mix de html, CSS et plusieurs swf

  5. avec la dernière version de flex c’est surtout avoir enfin une architecture pro, le respect du modèle MVC, le framework Cairngorm.(pas encore testé mais très prometteur), le serveur BlazeDs… et actionscript tout en objet
    bref un langage enfin mature, où on ne bidouille plus mais où on part sur de vrais archis pour des applications d’entreprise
    la grosse différence c’est que ce ne sera plus un graphiste qui fait tout dans son coin, mais une équipe de développeurs spécialisés entre interface (flash/flex), intégrateurs (flex) et serveur (java…)
    on pourra séparer les couches de développement, utiliser les règles de développement mature.

    tout n’est pas parfait, comme le fait remarquer Michel : quand est ce que google va s’adapter à flash ???

    mais comme le dit eric, on parle enfin de programmation, et plus d’animation.
    à quoi j’ajouterai : on peut maintenant parler d’architecture et de framework, et plus seulement de programmation

    avec flex, flash devient adulte ! ^^
    et considérer flash comme on considère par exemple les jsp : une couche d’interface (qui appelle des composants métiers, qui eux meme appellent des composants base de données), et non l’application en elle meme

  6. Une grande contrainte de Flash est qu’il faut définir à l’avance et une fois pour toutes une taille d’affichage en hauteur & largeur pour une animation swf. Si le contenu a afficher varie, la place allouée ne change pas (impossible d’agrandir la zone flash pour afficher plus de contenu, il faut obligatoirement scroller)

    Dans Flex cette « zone d’affichage » peut varier. En effet c’est toute la fenêtre du navigateur qui peut être exploitée et non une portion de page 🙂

  7. J’ai rarement lu un tel ramassis de banalité.
    Quand on ne sais pas de on parle… on ne dit rien.

    De la part d’un consultant c’est plutôt douteux…

    Il serait trop long d’expliquer toute la technologie Adobe Macromedia sur ce post…

    Mais même en simplifiant ce qui est dit ici est d’un niveau 0.

  8. pfff> Ah, un vrai troll ! C’est signe que mon blog augmente son audience !
    Pas le courage de mettre son nom, une attaque généraliste, pas d’info positive.
    Bravo pour ce message, qui lui est au top !

Laisser un commentaire

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