[Nantes JUG] – 25 novembre 2010 – Soirée RIA : Flex, HTML5 – Compte-rendu

La salle était comble, ce jeudi 25 novembre 2010, pour assister à la présentation de François le Droff, ayant pour sujet les applications internet riches (RIA), au travers des technologies Java, Flex, et HTML5.

À propos de François le Droff

Brestois d’origine, parisien d’adoption, François est architecte technique chez Adobe France depuis 2007, après 9 ans d’expérience dans le développement d’applications Web, principalement en Java/JavaEE. Acteur et contributeur de la communauté open source (qsos, xradar, fna), François est membre de l’OSSGTP (Open Source Software Get Together Paris), et du ParisJUG.

RIA : "sexy and funcky applications"

En guise d'introduction, François nous a présenté les principaux intérêts des RIA, au travers de plusieurs démonstrations d'applications développées par les équipes d'Adobe :

  • convivialité de l'interface
  • utilisation intuitive
  • rapidité d'intéraction
  • simplicité

=> gain de productivité
... et ce tant pour l'utilisateur que pour le développeur.

FLASH PLAYER

Dernière version : 10.1.
Principales améliorations :

  • rapidité
  • consommation CPU optimisée

Même si cette technologie a d'abord été associée aux bannières publicitaires intempestives, elle excelle dans le traitement des vidéos, et se retrouve de plus en plus sur les téléphones de dernière génération.
L'exemple du site du New York Times nous a également montré la puissance du player en terme de gestion des blocs de texte, de leur positionnement, et des différentes polices.

AIR

Dernière version : 2.5.
AIR est un environnement d'exécution qui intègre :

  • Flash player
  • la librairie WebKit
  • la base de données SQLite (base native sur tous les OS)
  • diverses librairies de communication avec l'OS

Cet environnement permet d'exécuter des applications de bureau, avec les avantages suivants :

  • mode connecté/déconnecté
  • nombreuses interactions avec les éléments du bureau ("Mes documents" par exemple)
  • accès aux périphériques du sytème (USB par exemple)

Seul bémol relevé par l'auditoire : la limite de SQLite, qui peut rendre difficile l'utilisation du framework pour des applications avec un modèle de données complexe, même si François nous a indiqué qu'il était possible de "brancher" AIR sur un autre SGBD.

FLEX

Dernière version : 4.
Flex, c'est "un framework Open Source gratuit très productif qui permet de créer des applications web expressives" (cf. Adobe). Il est composé de :

  • un SDK open-source
  • un langage (objet) : Action script 3
  • un langage de description des IHM : MXML
  • un compilateur (fichiers compilés : .swf)

HTML 5

Bien que la norme de cette nouvelle spécification de HTML ne soit pas encore validée (peut-être le temps de sortir de IE6 propose un des spectateurs), les principales nouveautés du langage sont :

  • des nouveaux tag
  • la prise en charge des médias audio et vidéo
  • la mise en place de "canvas", pour l'intégration d'animations
  • le "drag & drop"
  • la géolocalisation
  • ...

Malgré tout, Adobe développe déjà de nombreux produits avec HTML 5, comme le prototype Edge présenté sur la webTV d'Adobe.

Flex ET Java ?

Enfin, François nous a présenté comment on peut faire communiquer Java et Flex. Car le besoin est fréquent de vouloir faire communiquer un back-end Java avec un front-end Flex.
Pour cela, Adobe propose LiveCycle Data Services, un ensemble de composants Java/JEE ayant pour objectifs :

  • de créer des RIA performantes avec moins de code et moins de risque
  • d'intégrer une RIA avec un back-end existant

Concrètement, cela se traduit par l'ajout d'un ensemble de JAR dans le WAR de l'application Java/JEE. Cependant, ce framework n'est pas gratuit.
C'est pour cela qu'en parallèle, Adobe propose BlazeDS, qui lui est gratuit et open-source, mais qui contient seulement quelques composants de LCDS.
Exemple de mécanismes présents dans LCDS mais pas dans BlazeDS :

  • Flex messaging (équivalent JMS de Java)
  • DataManagement Services, un mécanisme qui permet de gérer les entités sur le poste client (toute modification d'une entité chez un client A est répercutée chez les clients B et C qui possédaient l'entité dans leur mémoire locale)

Si l'objectif de LCDS est aujourd'hui de faire communiquer des back-ends Java avec des front-ends Flex, la panoplie de choix devrait être bien plus large demain :
clients : HTML 5, Java, Flex, Android...
serveurs : .NET, C#...

Industrialisation

Evidemment, la question de l'industrialisation des développements avec ces technologies d'Adobe se pose. Les outils suivants existent déjà :

  • IDE : flex Builder
  • Tests unitaires : Flex Unit
  • Tests fonctionnels : RIATest
  • Qualité du code : FlexPMD
  • Sonar : plugin pour Flex
  • Documentation : ASdoc

Malgré tout, un des auditeurs fait remarquer le manque de compatibilité avec Maven, ce qui constitue selon lui un frein à l'industrialisation des applications Flex. Il arrive en effet que le build de l'IDE FlexBuilder diffère du build effectué en intégration continue à l'aide de Hudson par exemple. François reconnait que ce problème est connu d'Adobe mais que sa résolution n'est pas une priorité pour la compagnie aujourd'hui.

Conclusion

Cette soirée a permis aux participants de faire un tour d'horizon des principales technologies pour réaliser, aujourd'hui, des applications riches avec Java et/ou Flex. Il est vrai que les RIA sont clairement les applications de demain, notamment parce qu'elles sont simples et intuitives.
Nous remercions François, qui a su captiver son auditoire par la diversité et la richesse des applications qu'il nous a présentées.

Liens

Laisser un commentaire

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

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.