I. Introduction

A l'occasion de la sortie en version béta de leur nouvelle solution web, Adobe a organisé une conférence de presse suivi d'une présentation plus technique de Flash Builder (pour ceux qui ont participé à la session Développeur).

Cette plateforme regroupe donc un ensemble de logiciel Adobe qui permet de construire un projet web. Nous allons donc voir dans cet article comment fonctionne cette plateforme puis nous présenterons les deux stars de cette conférence Flash Catalyst et Flash Builder. Enfin nous ferons le bilan de ce que peut donner toutes ces nouveautés dans l'avenir.

II. La plateforme Flash

La plateforme Flash est une solution proposée par Adobe pour faciliter la collaboration entre designer et développeur.

II-A. Les solutions pour les Designers

Tous les designers connaissent sûrement la gamme Creative Suite 4 (CS 4) composée de Photoshop, Illustrator et Fireworks. Habituellement, le designer dessine une maquette et la transmet au développeur. Ce dernier tentera tant bien que mal de respecter au mieux la maquette tout en développant les différentes fonctionnalités de l'application.

Adobe revoit ce workflow en ajoutant Flash Catalyst entre le designer et le développeur.

II-B. Flash Catalyst : le médiateur entre designer et développeur ?

Flash Catalyst est un outil capable de récupérer une image sous Photoshop incluant tous ses calques et de les convertir en Flex sans écrire une seule ligne de code. Pour nous montrer toutes les capacités de Flash Catalyst, les consultants d'Adobe ont mis en place une simple application de consultation représentant un annuaire téléphonique.

En partant, d'une image représentant l'interface, ils ont réussi en une vingtaine de minutes à en faire une application web dynamique interfacée avec un service PHP.

La démonstration est tout à fait bluffante et est disponible ici.

Afin de faciliter cette transformation, l'image doit être conçue avec des calques bien définis. Ainsi, il sera plus facile de convertir les composants. Avec Flash Catalyst, il est possible de réaliser une maquette entièrement dynamique. Elle gère les évènements, les états et les effets.

II-C. Comment Flash Catalyst peut-il générer du Flex ?

Il faut d'abord savoir que Flash Catalyst génère du Flex 4 et que bien des choses ont été modifées entre Flex 3 et 4. Et la principale modification est l'ajout d'une nouvelle librairie de composants graphiques nommée spark qui vient compléter celle déjà existante halo. Elle ajoute un aspect manquant à halo :

  • la séparation entre le skinning et le comportement du composant,
  • une gestion différente des effets,
  • une librairie graphique (FXG) permettant de réaliser les dessins vectoriels et qui facilitera le passage entre la maquette sous forme d'image et l'application Flex.

Une fois l'application réalisée, le designer l'exporte au format fxp. Format reconnu par Flash Builder qui va l'ouvrir comme un projet Flex classique.

II-D. Un nouveau workflow en place

Avec cette solution le workflow est complètement revu. Ce qui donne plus d'importance au rôle du designer qui peut aller plus loin dans la conception de sa maquette.

Actuellement le fonctionnement se passe de la façon suivante :

Image non disponible

Comme vous pouvez le voir la flèche de développement vers maquette dynamique n'est que dans un sens. Car une fois le code modifié dans Flash Builder il n'est pas possible de revenir dans Flash Catalyst. D'après les consultants Adobe présents, il faudra attendre la sortie des prochaines versions.

Durant la session Développeur, les consultants Adobe ont présenté la version Béta 1 de FlashBuilder.

III. Les nouveautés de Flash Builder

Les améliorations de Flash Builder suivent 3 grands axes :

  • amélioration de la productivité : avec génération automatique de getter et setter, génération automatique de gestionnaire d'évènements,
  • intégration des services distants qui proposent entre autres BlazeDS, LCDS et Zend AMF,
  • applications plus expressives grâce à l'exploitation de Flash 10.

III-A. Productivité améliorée

Flash Builder améliore la productivité du développeur avec l'ajout de fonctionnalités bien pratiques pour le développement. Parmi ces fonctionnalités, il y a :

  • la génération automatique de getter et setter,
  • la génération automatique d'évènements : lors de l'ajout d'un bouton par exemple avec l'évènement click, Flash Builder va proposer la génération de la fonction correspondante. Un gain de temps non négligeable sachant que l'on peut être amené à le faire plusieurs fois par jour,
  • Le refactoring a été amélioré. Il peut maintenant être effectué sur les composants MXML.

Flash Builder le prend en charge et applique les modifications là où il le faut. L'IDE intègre aussi FlexUnit qui permet de réaliser des suites de tests et de l'intégration continue.

III-B. Intégration des services distants

Flash Builder prend en charge un certain nombre de serveurs distants. L'IDE fournit une fenêtre de configuration de serveurs :

Image non disponible

Il est possible à tout moment de configurer son application afin qu'elle prenne en charge :

  • les applications J2EE avec BlazeDS et LiveCycle Data Services ES,
  • les applications PHP. Adobe a d'ailleurs réalisé un partenariat avec Zend afin de permettre l'utilisation de ZendAMF et AMFPHP.

Enfin, Flash Builder est maintenant capable de réaliser de l'introspection sur les services distants. Il peut donc récupérer le profil des méthodes, reconnaître le contenu d'un objet retourné par une méthode.

IV. Conclusion

Avec cette nouvelle plateforme, le designer peut aller plus loin dans la conception de sa maquette et le développeur pourra se concentrer sur le développement de fonctionnalités. Pour le moment, aucun prix a été annoncé mais nous pouvons penser qu'elle sera vendue avec la gamme Creative Suite 4 (sinon cela n'aura pas d'intérêt). La release de Flash Catalyst devrait être prévue pour début 2010 mais aucune date précise.

Suite à la présentation, quelqu'un a posé la question suivante : " Est-ce la fin des développeurs ? ". La fin des développeurs, peut-être pas, mais une meilleure attribution des rôles probablement. De plus, les DSI vont-elles accepter demain d'investir dans le design ?

On ne peut que constater également les efforts d'Adobe pour répondre aux besoins de la communauté Flex. Car toutes ces nouvelles fonctionnalités sont issues de demandes de la communauté. D'ailleurs les consultants ont beaucoup insisté sur ce point en demandant aux développeurs Flex de ne pas hésiter à faire des retours sur les prochaines versions de Flash Builder.

V. Liens

VI. Remerciements

Je tiens à remercier tous ceux qui m'ont aidé à rédiger cet article : Jim_Nastiq, freegreg, Kerod et RideKick.