360 Flex Conference Day 3

Session 1 : Mihai Corlan (Adobe) : Developing data intensive Flex applications in Flex Builder 3

Présentation d’une application CRUD en Flex. On constate la souplesse concernant le binding avec la metadata [Databinding] et la balise <mx:Binding> c’est simple et efficace.

Présentation de l’objet AdvancedDataGrid qui permet de grouper dans un table, de changer l’ordre des colonnes par drag’n drop, de trier sur plusieurs colonnes.

Présentation de LiveCycle Data Services avec SQLAssembler : même démo que dans la session de Koen : le SQLAssembler n’est selon moi pas a conseiller sauf peut être pour des maquettes mais il permet ici de présenter comment fonctionne la notion d’Assembler coté serveur. Deux

navigateurs sont lancés appelant la même application Flex, les modifications faites dans l’un sont automatiquement répercutées dans l’autre. LCDS est vraiment indispensable pour gérer la notification des modifications sur tous les clients et correspond tout à fait aux besoin d’une application d’informatique de gestion. C’est vraiment le modèle idéal. Dommage que cette partie soit encore payante, encore qu’il y a une version express mais j’ai pas encore compris si elle est free ou pas, en tout cas c’est téléchargeable.

A noter que LCDS utilise la balise <mx:DataService> a laquelle on associe toujours une ArrayCollection. C’est avec cette ArrayCollection que LCDS est en mesure de notifier les ajout, suppression et modification.

Session 2 : Borre Wessel : Cairngorm deep drive

Présentation du framework Cairngorm et de ses design pattern, c’est principalement un modèle MVC en Actionscript :

  • ModelLocator : pour charger tous ses modèles on peut l’interpréter comme un objet Session
  • FrontController : pour intercepter et gérer les Commands et Events
  • Delegates : associé aux services et permet de les surcharger
  • Responder : pour intercepter les réponses des appels de services (succès et erreur)
  • ServiceLocator : locator de ses services permet aussi de gérer la sécurité (setCredentials)

L’importance de l’utilisation des modules (mx:Module) pour décomposer son application, permettre la réutilisation, réduire la taille.

Paul Williams a écrit plusieurs articles sur les presentation patterns à lire.

Un point sur les test unitaires: FunFX, HP (Mercury) QuickTest Pro, test difficile pas d’outils vraiment pratique.

Je pose la question de l’IoC et du dependency injection que l’on utilise en Java pour faciliter les tests unitaires, apparemment c’est pas viable avec Flex, il y aurait un projet de mocking. Le problème c’est qu’il faut simuler des événements. Bon il a pas été très clair dans la réponse, il est revenu vers moi après la présentation pour affiner sa  réponse mais on a pas pu finir l’avion m’attendait. Ce sujet reste à creuser, j’ai aussi entendu parler de FlexUnit.

A propos de PureMVC c’est l’équivalent avec des design pattern complémentaires.

Bref j’avais l’impression d’être retourné à mes cours de l’université quand on apprenait l’objet et l’utilisation de InterfaceBuilder en Objective C. Tout ça me parait évident et je ne conçois pas de réaliser une application Flex ou autre sans des design pattern.

Allez retour à Paris, j’en ai quand même bien profité et je vous recommande une adresse : Al Mercante a deux pas du Duomo, le Tiramisu est extraordinaire !!!