RECHERCHE

Plan du site

BOURSE

 

RUBRIQUES

 
 TUTORIEL FLASH 
A la découverte de MXML
Combinaison de langage XML, d'ActionScript et de nombreux autres composants, l'architecture Flex produit des applications Flash à la volée. Première approche. (28/09/2005)
Le langage MXML (pour Macromedia Flex Markup Language) est la réponse de l'éditeur du Flash aux langages de création d'interface via XML, comme le XUL de Mozilla, le futur XAML de Microsoft ou l'actuel OpenLaszlo de Laszlo Systems.

Tout comme ces congénères, MXML permet de produire une interface graphique (donc une application) à partir de balises XML spécifiques, au moyen d'un outil intermédiaire.

MXML créé donc des applications Flash via le serveur Flex de Macromedia, là où XUL crée des applications multiplates-formes via XPFE, et XAML des applications Windows via Avalon (le moteur de rendu de Longhorn/Vista).

Chaque langage répond donc aux spécifications de la plate-forme pour laquelle il est conçu, et MXML est donc un nouveau langage à reconnaître dans le monde des interfaces XML. S'il a l'avantage, par rapport à XAML, d'exister dès maintenant, il souffre cependant de la nécessité de posséder un serveur cher, Flex. Le prochain outil de développement de Macromedia, baptisé Zorn, devrait cependant autoriser des applications Flash qui n'ont plus besoin du serveur pour tourner.

Le langage
Reste donc à aborder le langage lui-même. Celui-ci, comme son nom l'indique, est destiné à fonctionner avec l'architecture Flex. Flex est avant tout un serveur de présentation programmé en Java : il envoie à la demande des présentations Flash, selon le code qui lui est fourni. Ce code fait usage de plusieurs technologies : le langage de présentation MXML, le langage de programmation ActionScript 2, et une large bibliothèque de composants exploitables par MXML et AS2. Au travers de Flex, l'application Flash pourra accéder à des bases de données, des services Web, des objets Java...

MXML propose donc une série de balises pour construire l'interface utilisateur. En cela, MXML peut se rapprocher de XHTML, chaque balise provoquant un affichage précis et connu dans l'application finale. Un fichier MXML se reconnaît par son extension .mxml.

L'exemple classique du Hello World permet de comprendre la structure de base d'un document MXML. Cet exemple créé une présentation Flash avec un simple texte affiché.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" >
  <mx:Panel title="Petit programme">
    <mx:Label text="Bonjour toute la Terre !" fontSize="42" />
  </mx:Panel>
</mx:Application>


La balise <mx:Application> est la base de tout document MXML. Les balises de ce langage sont définies par l'espace de nom http://www.macromedia.com/2003/mxml, obligatoire évidemment.

<mx:Panel>, de son côté, définit le "panneau" où s'affiche le contenu. Celui-ci peut comprendre, comme ici, un titre, mais également diverses indications permettant de préciser sa forme, son placement ou son interaction avec le reste de l'application. Il n'est pas obligatoire, et est utilisé dans les grosses applications pour regrouper des éléments en un "module" réutilisable.

  Forum

Réagissez dans les forums de JDN Développeurs

<mx:Label>, enfin, décrit une simple ligne non modifiable par le programme, pouvant utiliser du code HTML si besoin est.

Lancer ce code MXML aura donc le même effet visuellement que de créer un Label dans Flash MX 2004 et y taper du texte.

Le jeu de base des composants MXML couvre ainsi nombre de domaines, certains liés à l'interface (formulaires, boutons, champs, menus, listes), d'autres à la mise en page pure ou au regroupement d'éléments... Toutes ces balises MXML sont ensuite compilées en un fichier ActionScript 2, qui lancera les bons appels auprès du serveur Flex.

ActionScript reste donc le fondement du fonctionnement d'une application Flex/MXML, et peut être intégré directement au sein des balises de composants, à la manière de JavaScript pour les éléments HTML :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml">
  <mx:TextInput id="source" width="100"/>
  <mx:Button label="Copier" click="destination.text=source.text"/>
  <mx:TextInput id="destination" width="100"/>
</mx:Application>

Dans cette petite application, un clic sur le bouton copiera le contenu du champ source vers le champ destination, tel qu'indiqué par le contenu de l'attribut click.

Une petite centaine de composants sont ainsi disponibles, pour tous les usages, chacun avec sa balise MXML appropriée. Cela va des fonctionnalités classiques, comme <mx:TextArea>, <mx:Image> ou <mx:CheckBox>, jusqu'aux fonctionnalités avancées, comme <mx:CreditCardValidator>, <mx:WebService> ou <mx:MediaDisplay>.
 
Xavier Borderie, JDN Développeurs
 
Accueil | Haut de page
 
 



Votre avis sur cette publicité


Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages