Flex, efficace et accessible

Avec la version 3 de Flex, Adobe nous propose un framework de génération d’interfaces riches (RIA) relativement attrayant. Les nombreux composants de base offrent un panel très complet et accessible à l’utilisateur non expérimenté.

Les exemples mis en avant sur le site d’Abode sont témoins de la puissance de ces composants, avec par exemple un parseur de flux XML vidéo fait en deux lignes.

 

Un langage familier au développeur JEE

Les langages utilisés par Flex sont proches des habitudes d’un développeur JEE. On retrouve la description et le paramétrage des composants sous forme de fichiers XML. Les pages de l’interface implémentent du MXML dont les tags sont proches du HTML, et le langage ActionScript 3 est syntaxiquement proche du Java 1.4. Celui-ci a nettement progressé depuis Flex 2, devenant plus professionnel notamment dans l’implémentation d’objets ou l’organisation de ces objets par packages.

Une grande puissance de Flex est la simplicité d’enrichir les composants de base. C’est l’objet du projet communautaire FlexLib qui propose déjà un grand panel de composants supplémentaires.

Il faut noter que, comme tout framework d’IHM qui se respecte, Flex permet l’utilisation de feuilles de styles internes ou externes.

 

Et pour l’intégration …

… Flex propose trois moyens d’accès aux données distantes :

  1. le plus utile pour un développeur JEE est sans doute l’objet RemoteObject, qui permet d’accéder à des objets distants comme par exemple aux beans Spring.
  2. l’objet WebService qui s’interface avec SOAP.
  3. l’objet HTTPService qui permet d’effectuer des requêtes HTTP.

Adobe propose FlexBuilder, un IDE très complet basé sur Eclipse, parfaitement adapté au développement Flex, et proposant un debuggeur avancé, mais qui est payant et proposé à 200€ pour la version standard, plus de 500€ pour la professionnelle. Néanmoins le SDK reste gratuit et suffisant dans un premier temps.

En conclusion

Avec la version 3 de Flex, Adobe propose une version gratuite, performante et accessible de son framework de RIA. Pour les développeurs JEE, c’est une nouvelle alternative à la construction d’IHM professionnelles qui se pose à côté du duo JSP/AJAX.
 

Tweet about this on TwitterShare on FacebookGoogle+Share on LinkedIn

7 réflexions au sujet de « Flex, efficace et accessible »

  1. Avec Flex, on a pu apercevoir un vrai changement dans la façon de créer un site utilisant le player flash. Avant on intégrait du flash dans du HTML (souvent des animations assez lourdes d’où l’impression de lenteur) maintenant de plus en plus les sites sont entièrement conçu en flex.Il y a eu une réelle volonté d’Adobe d’ouvrir sa plate forme (Flex est open source), de plus Adobe a modifié la licence pour ne plus avoir de doit à payer lors de l’utilisation des technologies Flex.Autre raison du succès, la qualité de Flexbuilder qui est un vrai IDE drag and drop réussi et qui facilite réellement le développement coté client.Avantages en vrac.L’exécution dans une machine virtuelle flash largement déployée (plus de 90 % des postes accédant à internet)Le développement en flex permet de s’affranchir des versions des navigateurs (c’est aussi le cas de GWT).Une vraie séparation entre la partie IHM (MXML) et les traitements (ActionScript)Contrairement à la légende le temps d’exécution est meilleure qu’en javascript (en tout cas avant l’arrivée de Chrome et des compilateurs javascript JIT). En outre ActionScript est plus évolué et Adobe à une meilleure réactivité que javascript (ce qui est largement compréhensible).Une intégration avec java EE finalement assez souple, on peut utiliser Hessian (protocole binaire destiné aux web services)) par exemple à la place du protocole maison de sérialisation AMF.Parmi les frameworks qui facilitent l’intégration de Flex et java EE, on peut citer :BlazeDS qui est la version open source de LifeCycle Data Services fournie par Adobe (utilisation protocole RPC ou messages)Granite Data Services (EJB3, Seam , Spring, Guice, etc..)La plate forme d'Adobe (FlexAIR) a une longueur d’avance sur les autres technologies RIA (javaFX, silverlight, etc.)Ce n’est pas la solution pour tous les sites (notamment les gros sites de contenu statique) mais une vraie opportunité d’enrichir un client web. 

    1. Les avantages c'est bien mais qu'en est-il des inconvénients?De mon point de vue :Si Flex est opensource, Flash est loin de l'être. C'est pourtant un prérequis nécessaire. Et après oui, les spécifications de Flash sont disponibles, des players alternatifs existent mais on est pas encore au niveau d'une intercompatibilité complète. D'ailleurs est-ce Flex peut fonctionner au dessus d'un player Flash libre?Le support de nouvelles fonctionnalités de Flash (dont dépendent certainement des fonctionnalités de Flex) sur des plateformes moins populaires (MacOS et Linux) dépend du bon vouloir d'Adobe. Si ma mémoire ne me fait pas défaut, à l'époque de Flash 9, ces mêmes plateformes étaient encore à la version 7. Mais je dois également reconnaître que des efforts ont été fait à ce niveau (la version 10 beta étant disponible sur les 3 plateformes)L'objectif de Flex c'est de fournir un framework de développements d'IHM riche au sein de son navigateur. Mais, si je ne m'abuse exit tous ce qui fait qu'on trouve notre navigateur Web ergonomique : favoris, raccourcis clavier, gestion des clics, focus, enchainement des pages, … Tout ça direction poubelle.Finalement, ce n'est pas tellement Flex le problème, mais bel et bien Flash. Autant pour ajouter du contenu multimédia à un site, je suis convaincu qu'on n'a pas à l'heure actuelle de meilleure solution (et c'est d'ailleurs la raison d'être de Flash), autant pour les clients riche l'écosystème est vaste (ne serait-ce que la multitude de framework Javascript existant)

      1. Pour information Flash 9 est finalement sorti sur Linux et Mac OS. Depuis le rachat par Adobe, il y a une réelle volonté de ne négliger aucune plate forme.Il n'y a rien que Javascript fasse qu'ActionScript ne sache faire, donc oui on peut gérer le clavier, la souris, l'historique de navigation, etc.. Pourquoi peu de site l'utilise alors ?Justement parce que l'utilisation de flash était jusqu'ici cantonnée au rôle de conteneur multimédia alors qu'il peut faire beaucoup plus.C'est ce que Flex tente de démontrer. 

        1. <cite>Pour information Flash 9 est finalement sorti sur Linux et Mac OS. Depuis le rachat par Adobe, il y a une réelle volonté de ne négliger aucune plate forme.</cite>Oui mais 1 an après. Et comme la version 8 n'est jamais sorti (sous Linux en tous cas), ça fait un gap de 3-4 ans. Après, comme je l'ai dis, je suis d'accord avec toi, il y a dorénavant une volonté de faire des sorties synchronisées.<cite>Il n'y a rien que Javascript fasse qu'ActionScript ne sache faire, donc oui on peut gérer le clavier, la souris, l'historique de navigation, etc..Pourquoi peu de site l'utilise alors ?Justement parce que l'utilisation de flash était jusqu'ici cantonnée au rôle de conteneur multimédia alors qu'il peut faire beaucoup plus.C'est ce que Flex tente de démontrer.</cite>Je n'ai jamais dis le contraire. C'est juste que utiliser du Flash (à fortiori du Flex) pour faire un site, c'est courcircuité les comportements de ton navigateur (clic-droit, tabulation, mettre une page en favori, …, les exemples sont nombreux). Bon idem avec Javascript/Ajax toussa, où si on a envie de cloisonner l'utilisateur on le fait également très bien.

          1. Bonjour, My 2 cents sur Flex: "Justement parce que l'utilisation de flash était jusqu'ici cantonnée au rôle de conteneur multimédia" Oui, 100% oui, pourquoi ? Surement pour des raisons subjectives. Flash rime avec designer, cette estampille lui a (trop longtemps ?) collé a la peau. La technologie n'était même pas considérée en phase de choix. Les plus actifs sont, à ma connaissance, des acteurs intervenant dans la finance de marché et ce afin de proposer de nouvelles approches de visualisation des flux."alors qu'il peut faire beaucoup plus." Oui et… non 🙂 Pour l'aspect purement UI et sans être un expert de javascript ou autre actionscript, Flex est… surpuissant 🙂 Plus abouti graphiquement et drastiquement plus productif ! Le concept de RIA est une approche complète qui n'inclut pas nécessairement une technologie "Adobe" coté serveur, ce choix reste d'ailleurs très très minoritaire voire marginal. La magie de l'effet de bord veut que l'architecture soit naturellement plus "saine", tendant assez logiquement vers du SOA (sic)."C'est juste que utiliser du Flash (à fortiori du Flex) pour faire un site, c'est courcircuité les comportements de ton navigateur (clic-droit, tabulation, mettre une page en favori, …, les exemples sont nombreux)"C'est en effet un petit souci lorsque l'on parle de sites web, ça l'est beaucoup moins lorsque l'on utilise le navigateur comme un java-web-start pour application. De plus la plupart des sites qui empruntent la technologie Flex ne le font pas à 100% et mixent à loisir avec du bon vieil HTML qui reste le conteneur de haut niveau.Vaste et passionnant débat ! @++ <sub>PS : mise en forme par le modérateur</sub>

          2. "Oui, 100% oui, pourquoi ? Surement pour des raisons subjectives. Flash rime avec designer, cette estampille lui a (trop longtemps ?) collé a la peau. La technologie n'était même pas considérée en phase de choix. Les plus actifs sont, à ma connaissance, des acteurs intervenant dans la finance de marché et ce afin de proposer de nouvelles approches de visualisation des flux."C'est d'ailleurs pour moi l'une des grandes raisons du succès de Flash : introduction par les designers et qui au fur et à mesure s'essaient à l'ActionScript. Ils vont des trucs sympa, qui parlent directement au centre du plaisir des décideurs ("ah ça claque!") et hop la vague est lancée.On peut par exemple mettre en parallèle Flash avec SilverLight de Microsoft. De mon point de vue les technos se ressemblent beaucoup mais l'approche est différente. Flash est (ou en tout les cas à été) un produit à destination des graphiques et qui s'est rependu au développement Web de manière générale (Flex toussa). Avec SilverLight c'est l'inverse. Le public visé est d'abord le développeur .NET. Croisons les doigts pour que ça se casse la gueule dans ce sens… Après d'accord pour tout le reste. On pourrait en discuter des heures et ne jamais se mettre d'accord 😀 

          3. qui parlent directement au centre du plaisir des décideurs ("ah ça claque!") et hop la vague est lancée. Le décideur aimera toujours le graphique qui clignote !Assez d'accord sur l'analyse silverlight vs flex. Il serait interessant de savoir quelle est la proportion de developpeur flex venant du design flash… Ce qui me seduit dans flex c'est le framework graphique de base, tres complet et de bonne facture, qui m'evite justement de faire du design. En clair, en étant un pietre designer je peux sortir des applications qui declenchent un enthousiasme au premier coup d'oeil (le fameux "ah ça claque"), le tout en bien moins de temps que jadis 🙂 Coté serveur je resterai sans pitié un afficionado de java.May the flex be with you !Java pas vite mais java loin…@++

Laisser un commentaire

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


*