Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

10nov/100

Flex Roadmap – Le futur du SDK Flex (post-Hero)

Pendant Adobe MAX 2010 se sont déroulées de très nombreuses sessions parmi lesquelles, une session dirigée par Deepa Subramaniam (Senior Product Manager for the Flex SDK). Durant cette session d'environ une heure, elle a présenté le futur du Flex SDK.

Cette session est vraiment très très très intéressante. Si vous êtes développeur Flex /AIR, vous devez absolument la regarder, de nombreuses pistes sont dévoilées.

Les sessions peuvent maintenant être visualisées sur le site d'Adobe MAX 2010. Voici donc la vidéo de la présentation "Flex Roadmap":

Comme je l'ai dit plus haut, je vous conseille très vivement de regarder cette vidéo en entier, on y apprend beaucoup. Pour ceux qui n'ont pas envie, voici un petit résumé.

Le futur du SDK Flex

Avant tout chose, il faut préciser que ce qui est dit lors de cette présentation (et répété ici) ne sera pas forcement implémenté. On parle d'objectifs à long terme qui pourront être modifié (ou supprimés) au cours du temps.

Voici donc les points forts de la présentation (selon moi).

Enrichissement de la librairie de composants Spark

Ce n'est pas nouveau et c'est plutôt un objectif aussi court terme, de nouveaux composants Spark vont arriver pour compléter les composants qui existaient en Flex 3 (Halo). Dans Hero, on a déjà accès à Spark Form, Spark Image et Spark DataGrid qui est toujours un peu en chantier. De nouveaux composants seront développés pour encore plus de possibilités out-of-the-box.

Utilisation des APIs de globalization de Flash Player 10.1

Flash Player 10.1 embarque de nouvelles APIs de "globalization" qui permettent de connaître la "locale" (le langage /pays) du poste client. Les composants seront ainsi automatiquement adaptés à la locale de l'utilisateur (Validator, Formatter, …)

29juin/102

Flex 4 – Pointez vers des RSLs en dehors de votre projet

Framework RSL’s in Flex Builder vs Flash Builder, Performance and Important Info

Vous le savez peut-être, avec Flash Builder 4, le framework est exporté en RSL par défaut. Cela signifie que le code du framework Flex ne se trouve pas dans votre application mais dans un fichier .SWZ séparé. Si vous ne connaissiez pas ce fonctionnement, voici un article sur les RSLs avec Flex Builder 3, toujours valable:

Flex RSL – Utilisation des RSL du Framework Adobe Flex

Vous l'avez compris, les RSLs ont un intérêt certain si vous avez plusieurs applications Flex.

A la compilation de projets Flex dans Flash Builder 4

Il est important de comprendre maintenant ce qui se passe quand un projet est "build" dans Flash Builder 4. La configuration par défaut fait que le compilateur va créer une copie de chaque RSL (fichier .SWZ) dans le répertoire de build. Ce qui signifie que lorsque vous faites une Release Build, vous aurez une copie de chacun des 6 .SWZ (entre 60 et 620Ko).

Voici la liste de ces SWZ (les numéros de builds pouvant varier):

  • framework_4.0.0.14159.swz
  • osmf_flex.4.0.0.13495.swz
  • rpc_4.0.0.14159.swz
  • spark_4.0.0.14159.swz
  • sparkskins_4.0.0.14159.swz
  • textLayout_1.0.0.595.swz

Pour une seule et même application, cela ne vous posera pas de problème mais lorsque vous avez de très nombreuses applications, cela va démultiplier le nombre de fichier inutilement. Par exemple, c'est le problème soulevé par ce développeur de Tour de Flex (des centaines d'applications). Ou imaginez même que vous avez un blog consacré à Flex, qui va contenir de plus en plus d'exemples Flex 4: l'auteur va-t-il envoyer les fichiers RSLs à chaque fois par FTP :P .

Modifier le chemin par défaut vers les RSLs

Heureusement, une solution simple existe comme le précise cet article:

Framework RSL’s in Flex Builder vs Flash Builder, Performance and Important Info

Il suffit pour cela d'aller modifier la configuration par défaut de votre compilateur pour pointer vers un emplacement différent (URL unique). Il y a 2 tags XML qui précisent l'emplacement des RSLs:

  • Le premier est celui vers les RSLs hébergés par les serveurs Adobe. Laissez-là telle qu'elle est
  • Le second est le '"failover", celui qui va être pris en compte si les serveurs Adobe ne sont pas accessible pour N raisons. C'est ce chemin que vous devrez modifier.
6mar/1011

Master Class Advanced Flex @ Bruxelles, Retour en images

La semaine dernière a eu lieu la Master Class Advanced Flex à Bruxelles, un séminaire donné par l'équipe de Farata Systems. Vous l'aviez peut-être deviné, j'étais présent pour ce séminaire. Autant être clair, si vous n'y étiez pas, vous avez raté une des conférences les plus intéressantes (en France et ses alentours en tout cas).

J'ai eu l'occasion de rencontrer quelques uns (6 je crois) des lecteurs de flex-tutorial.fr à cette occasion (certains que je connaissais seulement par GTalk), c'était vraiment intéressant d'échanger en direct :D . Un bonjour à eux

Le Hilton, c'est classe

Le séminaire s'est passé sur 2 jours, au Hilton de Bruxelles. Pour planter le décor, les 2 jours se sont passés au 27e étage du Hilton, dans une salle de réunion panoramique avec sûrement une des meilleures vue sur tout Bruxelles. Rien que pour cela, cela valait le coup. Étaient présentes, une trentaine de personne, ce qui a permis de pouvoir communiquer facilement et de poser des questions. Quelques photos sont disponibles à la fin de cet article.

Le premier soir, l'équipe de Farata Systems a invité tous les participants à prendre une tournée de binche au bar du Hilton, un geste très sympa. Rajoutez à cela le buffet à volonté le midi (et c'est pas celui du Flunch) avec de très bons vins compris dans le prix(400 euros), ce séminaire était une aubaine :) .

Assez parlé du contexte, parlons maintenant du contenu.

Les présentateurs de chez Farata Systems

Ils étaient 3 pour animer ce séminaire, chacun spécialiste dans sa "branche" (compilation et optimisation, développement et aspect humains, …): Victor Rasputnis, Yakov Fain et Anatole Tartakovsky. Trois américains d'origine d'Europe de l'Est avec un accent anglais plutôt sympa ^^.

Ils sont tous consultant/développeur, venant du monde Java avec des bonnes années d'expérience derrière eux. Ils ont notamment écrit plusieurs livres spécialisés, notamment:

On a eu affaire à de vrais pros, qui ont développé des projets de grande envergure depuis des années. Ils ont tourné et modifié Flex et l'ActionScript dans tous les sens et connaissent tout sur le bout de doigts.

Ce qu'on a pu voir en 2 jours

2 jours, cela peut paraître long sur Flex mais ce fut en fait trop court pour pouvoir tout aborder. Le programme de ce séminaire était très chargé et on a pas eu le temps de tout aborder. De nombreux points sont déjà abordés dans leur blog mais il est toujours plus intéressant de les voir expliqués en live.

Voir le blog Flex de Farata Systems

Voici les points abordés qui m'ont le plus intéressé:

3nov/090

Flex RSL – Utilisation des RSL du Framework Adobe Flex

Les composants du framework Adobe Flex sont disponibles dans des librairies SWC. Elles peuvent être chargées à l'exécution comme RSLs (linkage dynamique). Les RSLs du framework sont supportées uniquement à partir de Flash Player 9.0.60. Les RSL du framework ne sont pas exactement comme les RSL de base, car ils sont signés. Ils ont aussi une extension différente: .swz, indiquant que le RSL est un "signed RSL". Seul Adobe peut créer des SWZ signés.

Vous les trouverez  dans votre répertoire d'installation de Flex/Flash Builder:

C:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.2.0\frameworks\rsls

Pour définir le framework Flex comme RSL, rendez-vous dans les propriétés de votre projet Flex Build Path > Library Path. Depuis la ComboBox "Framework Linkage",choisissez "RSL". Le framework Flex sera ainsi séparé du SWF applicatif. Quand l'utilisateur va télécharger le framework une première fois, il va être conservé dans son cache. Encore mieux, ces librairies peuvent être utilisées depuis plusieurs domaines. Cela veut dire que les utilisateurs peuvent le récupérer depuis n'importe quel site déployé avec le Flex Framework en RSL, pas forcement celui de votre site.

Les RSL signés ne sont pas gardés en cache dans le cache du navigateur mais en local sur le disque. Ainsi, ils ne sont pas affectés par les utilisateurs qui vident leur cache.

Vous trouverez notamment les RSLs suivants:

  • framework_3.2.0.3958.swz
  • datavisualization_3.2.0.3958.swz
  • rpc_3.2.0.3958.swz

Comme vous le constatez, le nom du fichier inclut la version du framework Adobe Flex ainsi que le numéro de build (3958).

Remplis sous: RSL Aucun commentaire
1nov/090

Flex RSL – Utilisation de RSL Cross-Domain

Dans l'article précédent, on a vu comment utiliser les RSL standard Flex. Les RSL cross-domain sont des RSL standard (c'est-à-dire une librairie de composants) sauf qu'il sont accessibles depuis plusieurs domaines / sous-domaines. C'est pourquoi, à la fois au moment de la compilation et du déploiement, vous devrez spécifier un fichier cross-domain. Le processus de création du SWC n'est pas différent, sauf que vous devez créer une fichier de security policy crossdomain.xml avec le fichier SWC.

Au moment de la compilation, vous devrez passez l'emplacement du fichier de cross-domain ainsi que l'emplacement du "failover" RSL. C'est-à-dire l'emplacement du RSL à charger si l'accès au domaine échoue. Ces arguments sont passés en tant que paramètres de lignes de commande ou sont spécifiés dans la configuration XML passée au compilateur. Voici à quoi ressemble le code:

mxmlc -runtime-shared-library-path=
pathTo/sharedLibrary.swc,
pathTo/library.swf,
pathTo/crossdomain.xml,
pathTo/failoverLibrary.swf,
FlexApplication.mxml

Le chemin peut être relatif ou absolu (URL complète). Le chemin vers le fichier crossdomain.xml doit être spécifié par une URL absolue car il doit être accessible depuis plusieurs domaines.

Voici les mêmes informations mais dans le fichier de configuration de compilation XML (flex-config.xml):

<runtime-shared-library-path>
<path-element>pathTo/sharedLibrary.swc</path-element>
<rsl-url>pathTo/library.swf</rsl-url>
<policy-file-url>pathTo/crossdomain.xml</rsl-url>
<failover-url>pathTo/failoverLibrary.swf</failover-url>
</runtime-shared-library-path>

Vous devrez bien sûr faire un upload du fichier crossdomain.xml sur le serveur du domaine que vous souhaitez interroger.

Remplis sous: RSL Aucun commentaire