Découverte de Flex 2 SDK

Aperçu de l'exemple 001 Et voilà, j'ai téléchargé Adobe Flex 2 SDK. Il est gratuit et permet de créer des documents Flash 9.

J'ai un peu peur d'être à la ramasse, donc je me lance. Flash change tellement vite, il ne faudrait pas que je rate un train.

Introduction

La première impression est plutot bonne. C'est bien rangé, il y a de la documentation et les exemples permettent de comprendre rapidement comment on compile. D'ailleurs, comme n'importe qui qui découvre, je vais tenter de créer un SWF tout bête.

Pour compiler, c'est très simple, un petit fichier bat ou sh comme dans les exemples. L'exécutable qui compile, c'est bin/mxmlc.exe et il prend en argument un fichier MXML.

Un exemple

Je vais simplement créer un panneau, mettre une image et un texte. Voilà donc le contenu du fichier MXML :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" width="800" height="600">
	<mx:Style source="layout.css" />
	<mx:Style source="style.css" />
  
	<mx:Panel title="Flex 2 SDK - Test 001" height="50%" width="75%">
		<mx:Image source="@Embed('george.jpg')" />
		<mx:Text>
			<mx:text>
				George est frais.
			</mx:text>
	    </mx:Text>
	</mx:Panel>
</mx:Application>

Bon déjà, ces mx partout, c'est chiant. Pourquoi ne pas mettre le namespace mx par défaut ?

S'ils font ça, c'est peut-être parce que les attributs des balises sont pas vraiment déclarés. En tout cas, c'est possible de compiler sans les mx, il n'y a pas d'erreur.

Bon, le MXML est assez simple, les noms des balises sont bien parlants et on devine ce qu'ils font. Il y a juste le Text qui est curieux, il y a une autre balise text dedans. Mais en fait, Text représente le champ de texte et text indique le type de texte; il existe aussi htmlText comme type.

Bref je compile et ca marche. J'ai un fichier SWF de 132Ko (glups). C'est le prix à payer pour utiliser des composants avec gestion du skin et tout. J'imagine que la taille se rentabilise quand il y a beaucoup de choses.

Conclusion

C'est un début, j'ai fais le tour des exemples fournis. Je n'ai pas encore vu où mettre du code Actionscript. J'ai remarqué des similitudes avec XUL. Le css a l'air limité en terme de positionnement, on met de toute façon pas mal de mise en forme en dur directement dans le MXML. On fait même des animations avec des balises comme Sequence ou Move. Il y a des choses sympas pour créer des formulaires.

Au final, je ne suis pas perdu. On a à notre disposition des composants très utiles pour mettre en place des interfaces. Et c'est pratique de manipuler que des fichiers textes.

Suite au prochain épisode.

Télécharger les sources (à mettre à la racine de flex_sdk_2)

Commentaires

1. Le vendredi, août 4 2006, 13:18 par klee

Effectivement c'est très proche de Xul, il sont pas béte hein ! :)

pour mettre du script c'est simple comme de l'html
<mx:Script>
<![CDATA[
]]>
</mx:Script>

bienvenu dans le monde merveilleux de flex 2,
je nage dedans depuis 2 semaines, et j'aime :D

2. Le samedi, août 5 2006, 09:49 par ekameleon

Hello :)

le mx c'est le namespace des classes. Tu peux créer en AS3 tes propres classes dans ton propre namespace et par hasard elles auront peut être le même nom que les classes de Adobe.. du coup tu les distingueras en utilisant ton namespace ou celui de Adobe selon les cas :)
Pour ce qui est de Text et text... c'est juste que le composant Text possède une propriété text pour définir la chaine de caractère non ?

3. Le samedi, août 5 2006, 10:23 par neolao

En fait on fait ce qu'on veut des namespaces, on est pas obligé d'écrire comme eux. Il faut juste que ce soit cohérent.
Mais peut-être qu'en général, c'est plus pratique de faire comme ca.