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

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
1nov/090

Flex RSL – Utilisation de RSL standards

Les applications Adobe Flex modulaires, qui utilisent des librairies ré-utilisables sont les meilleurs candidates à l'utilisation des RSL. Dans cet article, on va voir comment utiliser ces RSLs dans la pratique.

Il y a quatre étapes à suivre quand on veut utiliser les RSL:

  • Créer une librairie de composants / classes
  • Compiler l'application Flex pour qu'elle utilise la librairie de composant
  • Optimiser le RSL, si besoin est
  • Déployer l'application et le RSL

Création d'une librairie de composants

La première étape consiste à créer une librairie ré-utilisable et d'en faire un package pour qu'elle puisse être facilement redistribuée. Flex Builder 3  permet de créer facilement ces projets librairie. A partir de ce projet, le compilateur Flex va compiler un fichier SWC. Un fichier SWC est une archive qui contient des composants Flex et d'autres éléments (images, font, …). Si vous décompressez cette archive, vous trouverez deux fichiers:

  • Un fichier SWF, souvent appelé library.swf
  • Un fichier XML "manifest" appelé catalog.xml, qui contient la liste des composants inclus dans la librairie.

Pour commencer la création d'une librairie Flex, créez un nouveau projet de type Flex Library Project et pas Flex Project:

flex-library-1

Une librairie SWC peut être compilée de plusieurs manières, soit en ligne de commande avec le compilateur "compc", soit par Flex Builder. Dans notre cas, on va laisser Flex Builder faire le travail.

1nov/090

Flex RSL – Les différents types de RSL

Si vous avez plusieurs applications Adobe Flex, vous aurez sûrement des librairies de classes / composants partagées que vous réutilisez sur plusieurs applications. Pour cela, vous pouvez utiliser les RSL: Runtime Shared Libraries. Le but est toujours le même: s'assurer qu'un minimum de code soit téléchargé par l'utilisateur.

Une RSL est une librairie, distincte du SWF de l'application principale et qui sera téléchargée par Flash Player une seule fois, si elle n'est pas encore disponible. Une fois qu'elle est disponible, elle peut être utilisée par plusieurs applications sans devoir être téléchargée à nouveau.

Différents types de liaison avec les librairies Flex: Static Linking et Dynamic Linking

Pour savoir s'il est mieux pour vous d'utiliser des RSLs ou pas, il faut bien comprendre la différence entre les différents types de liaison avec des librairie Adobe Flex.

Static Linking

Le type de liaison ("Linking") par défaut est Static Linking. Toutes les classes nécessaires à l'application sont compilées en un seul lot ("bundle"). L'avantage principal est un chargement des classes plus rapide à l'exécution et donc un meilleur temps de réponse. Le principal inconvénient est un temps de téléchargement plus long (fichier SWF final plus lourd) et l'inclusion possible de classes redondantes dans de multiples applications qui pourraient partager ces classes.

Dynamic Linking

Le type de liaison Dynamic Linking est une alternative au static linking. Dans ce cas là, les classes sont toutes rassemblées dans un "bundle" unique (fichier SWF) qui peut être chargé à l'exécution.

Avantages et inconvénients liés aux RSLs

Les RSL ont les avantages suivants:

  • La taille du fichier SWF de l'application principale est réduite. Cela accélère le démarrage de l'application pour une meilleure expérience utilisateur
  • Une RSL est téléchargée une seule fois et ré-utilisée autant de fois qu'on le souhaite sur plusieurs applications.
  • Permet une ré-utilisation du code pour une meilleur organisation applicative
Remplis sous: Flex Builder, RSL Lire la suite