Après un tutorial sur flex et fluorine, quittons le monde du RIA pour nous intéresser aux RDA (Rich Desktop Applications). Tout comme la RIA, les RDA sont des applications riches du poste de travail. Et voici donc un tutorial basique sur le nouveau né de chez Adobe, j’ai nommé Apollo.
I. Overview
Apollo est un runtime d'exécution
permettant la construction d'applications riches de bureau, à l'aide de
technologies comme Flash, Flex, AJAX, HTML, JS. Apollo est concurrent des technologies
comme .net et Java pour ne citer qu'eux. Il en est qu'à ses débuts avec déjà de
grandes possibilités :
- Multiplateforme :
plus besoin de développer différentes versions pour les différents OS.
- Gestion du HTML/JS/CSS/AJAX
- Gestion du PDF
- API de gestion IO :
Nous allons pouvoir enfin, lire, écrire et modifier des fichiers.
- Extension Apollo pour Eclipse : un environnement assez complet pour développer
rapidement.
Voici un diagramme, nous présentant les différentes combinaisons de technologies citées plus haut :
II. Ma première application
Ce tutorial utilise l'extension pour Eclipse (dans un prochain billet, nous parlerons de l'utilisation du compilateur en ligne de commande d'Apollo).
Lançons Eclipse, créons un nouveau projet Apollo (Ctrl + N).
Nous allons construire un projet basique, et nous l'appellerons HelloWorld.
Une application Apollo est basée sur un composant conteneur ApolloApplication qui lui même hérite du composant Application (Flex 2), imaginez le portage de vos applications Flex 2 sous Apollo, il suffit de remplacer Application par ApolloApplication mais nous allons voir que ce n’est pas obligatoire.
Passons
en mode design, pour travailler dans un environnement RDA :
1. Sélectionner le conteneur gris (ApolloApplication) et choisissez
un mode de placement vertical (par défaut absolute). Il y a 3
modes de placement dont un, le mode absolute est disponible uniquement
pour les conteneurs : Panel, TitleWindow, Canvas et Application.
Ce mode permet de placer les composants à l'aide de leurs coordonnées x
et y. Les deux autres permettent le placement des composants
verticalement et horizontalement.
2. Ajoutons maintenant un contrôle Label que nous trouverons dans l'onglet composants (drag & drop). Ouaa trop dur.
3. Modifions le texte et le style de notre Label. Le contrôle Label se trouve toujours en haut de votre application, nous allons y remédier.
4. Dans le panneau des propriétés, afficher les propriétés par catégories. Dérouler la catégorie Styles et modifier la valeur du style VerticalAlign à middle
5. Testons notre application. Pour compiler, nous pouvons cliquer sur la flèche verte en haut ou en utilisant le raccourci (Ctrl + F11). Pour compiler en mode debug, il suffit de cliquer sur l'insecte vert ou avec le raccourci (F11).
Notre application est une application bureau, ce qui implique la possibilité
de réduire, agrandir et de fermer l'application.
III. Quelques changements peuvent toujours être utiles
Il existe sous Apollo un fichier XML de configuration de votre application Apollo.
Ce fichier nous permet de
définir :
- un attribut appId : identifiant unique de
l'application
- un attribut version : version="major.minor"
- ex : version="1.0"
- un ensemble de propriétés indiquant : un nom, une description,
un auteur et un copyright
- un nœud rootContent : définit l'apparence
de votre fenêtre d'application à l'aide de l'attribut systemChrome
avec deux valeurs possibles : standard (défaut) celle que nous
avons actuellement pour notre application et aucune none à savoir
l'apparence proposée par le composant ApolloApplication.
· des icones : plusieurs formats, un format pour l'icone de la fenêtre, un autre pour l'icone de raccourci bureau et sur l'exe.
Si vous choisissez none pensez à mettre l'attribut transparent
à true pour éviter de laisser la couleur de fond par défaut de
votre application.
Et voila, vous obtenez quelque chose qui ressemble à ça, avouez que c’est bien plus stylé.
Nous arrivons à la fin de ce tutorial consacré à notre première application Apollo. Certes c’est un exemple relativement simpliste, mais son but est de vous présenter ce runtime et de vous faire une idée de ce qu’est une RDA.



Les commentaires récents