Les nouveautés sur Flex au 13/07/2009
(ajout et mise à jour du rapport réalisé en juin 2008)
Rappels
Flex, le "Flash pour développeur".
Flex est un framework d'Adobe permettant de développer des RIA
Il est composé de 2 langages:
- MXML: grammaire XML qui permet de décrire l'interface graphique de l'application
- ActionScript: langage de script basé sur la norme ECMAScript (même norme que javascript), utilisé pour "motoriser" l'application
Le framework embarque un compilateur qui permet de compiler le code source MXML/ActionScript en binaire swf, exécutable à partir d'un Flash Player.
Pour avoir une définition plus complète:
http://cds.u-strasbg.fr/twiki/bin/view/Stages/Flex
Pour un aperçu très rapide des langages:
http://www.adobe.com/fr/devnet/flex/quickstart/coding_with_mxml_and_actionscript/
Plus d'infos sur les RIA:
http://cds.u-strasbg.fr/twiki/pub/Stages/Ria/RapportStage_Cedric.pdf
Flex 3
La version actuelle et officielle de la technologie Flex est
Flex 3.
ActionScript
Flex 3 utilise
ActionScript dans sa version 3. ActionScript 2 peut également être utilisée en Flex 3, mais cela est vivement déconseillé parce que certains noms de packages et de classes ont été changés entre la v2 et la v3.
La version 3 n'est supporté par les Flash Player qu'à partir de la version 9.
Ce qui implique qu'une application développée avec Flex 3 ne peut être exécutée qu'à partir d'un Flash Player 9 ou supérieur.
Présentation et initiation à ActionScript 3:
http://www.adobe.com/fr/devnet/actionscript/
SDK
Il existe 2 types de sdk:
- le "Adobe Flex SDK" qui contient tous les composants Flex (libre ou non, opensource ou non)
- le "Open Source Flex SDK" comprenant uniquement les composants opensource
Les éléments non libre du sdk sont des composants utilisables uniquement si l'on possède la licence de Flex Builder.
Le
sdk actuel officiel est le
SDK 3.3 (3.3.0.4852 du 05/02/2009).
Le dernier sdk stable est le 3.4.0.6955 du 16/05/2009.
SimPlay et Dic9 ont été développés avec le
SDK 3.2 officiel (3.2.0.3958 du 29/10/2008).
Pour télécharger les sdks de Flex 3:
http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3
Flash Player
Le Flash Player est un peu "la JVM de Flash". Il permet d'exécuter du code binaire propriétaire swf (contenu Flash, application Flex).
Il est compatible windows, linux, mac, solaris.
La
denière version oficielle du Flash Player est la
version 10 (24/02/2009), disponible pour IE, AOL, Firefox, Netscape, Opera, Safari, Chrome. Il gère maintenant la 3D, est plus rapide avec la mise en cache du framework, etc.
A partir de la version 9, il y a 2 type de Flash Player: le Flash Player "normal" et le Flash Player debugger, qui permet de faire du debug via Flex Builder.
Il existe également un Flash Player standalone, qui s'exécute indépendemment et à l'extérieur du navigateur.
Installation:
- windows: à partir de Flash Player 9, l'installation est facilité puisqu'un exécutable est mis à disposition
- linux: idem windows pour Flash Player 9. Attention cependant, sous Linux il est préférable de désinstaller l'ancienne version du Flash Player avant de procéder à l'installation de la nouvelle. Pour Flash Player 10, des packages sont directement disponibles au téléchargement (rpm, deb, ou tar.gz)
Opter pour la version "debugger" pour faciliter le développement et pouvoir faire du debug (et du profiling) via Flex Builder.
Un peu plus d'informations sur FP10:
http://labs.adobe.com/technologies/flashplayer10/
Pour obtenir la toute dernière version:
http://get.adobe.com/fr/flashplayer/otherversions/
Toutes les versions du Flash Player, avec toutes les Releases Candidate pour tous les systèmes sont disponible ici:
http://kb2.adobe.com/cps/142/tn_14266.html
Flex Builder
Flex Builder (
dernière version 3.0.2) est l'environnement de développement de Flex basé sur Eclipse. Il existe pour les plateformes windows, linux, et mac.
- windows: sous forme d'éxecutable ou de plugin éclipse, version d'évaluation de 60 jours
- linux: plugin Eclipse (dernière version: alpha 4 du 18/08/2008), nécessite obligatoirement Eclipse 3.3.x minimum, version d'évaluation de 449 jours
- mac OS X: idem linux, mais version d'évaluation de 60 jours
La version Linux est une version "light" de la version windows: on ne peut pas faire de profiling, et l'éditeur WYSIWYG est absent.
La dernière version officielle de Flex Builder est
Flex Builder 3 et est optimisée pour développer des applications sous Flex 3 avec Flash Player 9.
Mais ces applications Flex 3 peuvent aussi fonctionner dans le Flash Player 10, moyennant quelques petites modifications du code source (il faut déclarer l'existance de FP10).
Il est possible pour les étudiants, personnels enseignant, et laboratoires d'obtenir
gratuitement une licence "educational" de Flex Builder 3 (qui est exactement la même chose qu'une licence pro). Il suffit d'en faire la demande en ligne.
installation:
Il existe quelques alternatives à Flex Builder, mais aucune n'est réellement à la hauteur de ce que permet de faire Flex Builder:
http://cds.u-strasbg.fr/twiki/bin/view/Stages/Flex
Comment modifier son code Flex 3 pour que l'application soit reconnue compatible Flash Player 10:
http://opensource.adobe.com/wiki/display/flexsdk/Targeting+Flash+Player+10
Faire la demande en ligne de licence "educational":
https://freeriatools.adobe.com/flex/
Bugs connus
Certains des bugs rencontrés pendant les développements de SimPlay et Dic9 ne sont toujours pas corrigés. Voici la liste des rapports de bug Adobe que j'ai ouvert ou dont je suis l'évolution:
Autres bugs à vérifier:
- lors du chargement de l'application, le champ du formulaire a visuellement le focus, mais il faut quand même cliquer dessus pour que le curseur se place dans ce champ
Outils d'aide au développement
Un plugin firefox,
"flash switcher", permet de changer facilement de version de Flash Player utilisé par Firefox. Ce plugin multi-plateforme fonctionne avec la dernière version de Firefox (3.5). On peut y ajouter toutes les versions de Flash Player que l'on souhaite.
Obtenir le module Flash switcher pour Firefox:
http://www.sephiroth.it/examples/firefox/extensions/flash_switcher.xpi
Attention:
Le fonctionnement du Flash Player 10 diffère légèrement de ces prédécesseurs. Il se peut qu'une erreur se produise lors d'un switch entre la version 10 et une version antérieur. Il suffit alors de localiser le fichier NPSWF32.dll (sous windows) et de le renommer par exemple en NPSWF32.dll.old. Apparemment le problème ne se produirait que sous Windows (je n'ai pas personnellement testé ce que cela donne sous Linux).
Débuter avec Flex
Quelques liens très utiles pour apprendre à développer avec Flex:
Flex 4
Flex 4 (nom de code Gumbo) est la version de Flex en cours de développement.
Flex 4 est sortie en
version bêta le 13/15/2009 avec le SDK 4.0.0.7219
Quelques mots sur Flex 4:
- utilise toujours ActionScript 3 d'une part, et exploite MXML2009 (la nouvelle version de MXML) d'autre part
- est optimisé pour tirer profit du Flash Player 10
- la version officielle Flex 4 (sdk 4.0) est prévue pour fin 2009
- les applications développées avec Flex 4 ne peuvent être exécutées qu'à partir du Flash Player 10.
Petit tour des différences entre Flex 3 et Flex 4:
http://www.adobe.com/devnet/flex/articles/flex3and4_differences.html
Pour télécharger les sdks de Flex 4 (bêta):
http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4
Flash Builder 4
Flash Builder est le nouveau nom donné à l'IDE Flex Builder. Le changement de nom vient du fait qu'Adobe souhaite rapprocher Flex de Flash. Flash Builder 4 doit améliorer et faciliter les interactions Flash/Flex. Il est optimiser pour développer des applications Flex 4 sous Flash Player 10.
La
version bêta est disponible depuis le 01/06/2009 (il faut être inscrit a Adobe Labs):
http://labs.adobe.com/
Cette version n'est dispo que pour windows et mac, soit sous forme d'exécutable soit de plugin Eclipse, pour une évaluation de 30 jours. Mais il est possible, pour les possesseurs d'une clef d'activation Flex Builder 3, de demander une prolongation de la version d'évaluation de Flash Builder 4:
https://freeriatools.adobe.com/flashbuilder4beta/
Pour voir les nouveautés par rapport à Flex Builder 3:
http://www.adobe.com/devnet/flex/articles/flashbuilder4_whatsnew.html
Flash Catalyst
Flash Catalyst est un logiciel de conception graphique d’interfaces riches professionnelles (RIA, RDA) compatible avec la Creative Suite (Photoshop, Firework, Illustrator) et Flex. Destinée aux graphistes (designers) et aux développeurs, l'application permet d'optimiser leurs relations en proposant un workflow commun.
Flash Catalyst permet d'élaborer rapidement des interfaces utilisateurs et du contenu riche au format interactif Flash ou AIR (sans besoin de codes). Les développeurs peuvent reprendre le contenu généré avec Flash Catalyst afin de créer une application Flex plus complexe.
Petite video pour comprendre l'interaction Flex/Flash Catalyst:
http://labs.adobe.com/technologies/flashcatalyst/