
Je me lance, hier soir, après avoir regardé des tutoriels sur Flash Catalyst, j'ai démarré la réécriture de l'interface de Razuna Desktop, anciennement développé avec Flex Builder 3.
1e étape: design de l'interface avec Flash Catalyst avec des aller-retours vers Illustrator, ça fonctionne parfaitement.
2e étape: import du projet FXP généré par Flash Catalyst dans Flash Builder, du ménage s'impose: nécessité de nommer tous les contrôles dans FC pour gagner du temps.
La maquette fonctionne, il reste à intégrer les anciens morceaux de code...
Le projet FC est joint.

Comments
Après avoir importé le projet avec le nouveau design de Flash Catalyst dans Flash Builder, je commence à voir qu'il faut avoir une approche orientée composants pour le faire évoluer. En fait dans la beta actuelle, il n'est pas possible de modifier dans l'autre sens, c'est à dire modifier le design du projet Flash Builder dans Flash Catalyst (ça fonctionnera dans la version finale). Je vais donc créer le design des composants un par un dans FC puis implémenter le code.
Je dois donc réécrire les parties :
- gestion du drag-drop pour afficher les images droppées
- changer le datagrid en un componsant liste de données au sens Flash Catalyst
Le reste du code fonctionne
Reply to this Comment
Nitai Aventaggiato, le développeur principal de Razuna, vient de modifier l'API des webservices de Razuna pour renvoyer du XML au format e4x, ce qui permet d'avoir des contrôles liés directement aux webservices sans besoin d'écrire du code. Je vais donc pouvoir créer un arbre des dossiers. Il va être possible de charger des fichiers directement dans le dossier sélectionné.
Reply to this Comment
L'API modifiée des WebServices n'est pas encore disponible sur la version 'hosted', c'est à dire en ligne hebergée sur les serveurs de Razuna. Il faut donc créer une installation locale avec tomcat comme décrite sur http://wiki.sixsigns.com/display/ecp/Razuna+Documentation+Home puis il faut passer en mode svn pour avoir la dernière version développée. Ceci fait, je peux tester les webservices renvoyant du format e4x...
Reply to this Comment
Dans Flash Builder 4, j'ai découvert des nouvelles fonctions intéressantes:
- possibilité de créer le prototype d'une fonction lors de l'écriture d'un nouveau terme dans le contexte(comme dans Visual Studio).
- Interface en langue française.
- Moniteur de réseau pour voir le résultat des appels de webservices avec chronométrage
- Import des composants au format FXG 1.0
et plein d'autres
Reply to this Comment
Par contre pour Flash Builder 4, j'ai trouvé que l'interface devient très lente sous la perspective 'Flash debug', en passant à la perspective 'Flash Development' ça va mieux ;-)
Actuellement il est impossible de générer un fichier AIR en release.
Tout ceci est normal pour un produit en phase beta...
Reply to this Comment
Vu qu'il est impossible de générer un fichier AIR en release dans Flash Builder 4 beta, j'ai été obligé d'importer le projet dans Flex Builder 3.
Pour le faire fonctionner il faut télécharger le SDK de Flex 4.0.0.7219 et l'installer dans FB3 et ça marche...
Les nightly builds me générent des erreur de compilation alors j'évite...
Reply to this Comment
Dans 'Tour de Flex', l'appli demo des possibilités de Flex, il y a une section Flex4, utile pour voir les nouveautés.
En particulier, dans UIControls, un exemple de List permet d'avoir des images et du texte pour chaque élément, je vais l'utiliser pour Razuna Desktop.
Reply to this Comment
Voici une capture d'écran de l'application Razuna Desktop en action:
- drag-drop de fichiers vers l'application AIR
- prévisualisation des images
- création de la liste des images à charger sur le serveur
- possibilité de charger les images dans la structure de dossiers de la bibliothèque Razuna
Reply to this Comment
Etape suivante:
afficher les images dans un mur 3D!
En contact avec Kalou, il m'a autorisé à utiliser son mur 3D pour lequel les sources sont disponibles.
Le seul problème c'est que l'interface, superbe d'ailleurs, a été créée avec Flash Pro CS4.
Du coup, c'est un peu dommage, faut réécrire des parties dans Flex Builder...
Mais bon pour l'instant j'utilise son code tel quel, mais je dois générer un fichier XML à partir du webService de Razuna.
Reply to this Comment
Avec l'installation de la Beta 2 de Flash Builder, certains éléments ont changé de nom:
il faut utiliser spark.events.IndexChangeEvent désormais pour les listes de données au lieu de IndexChangedEvent
et spark.components.RichText au lieu de spark.primitives.RichText
Reply to this Comment
autres changements de la beta1 à 2:
pour les composants bouton: labelElement devient labelDisplay
pour les composants textInput: textView devient textDisplay
Reply to this Comment
j'implémente le cache des images sur le disque local afin d'afficher les images dans l'interface.
pour cela je m'inspire d'un exemple de code du très bon livre 'AIR cookbook': création d'une classe singleton ImageCacheManager
Reply to this Comment
Je suis à la version 1.0.23, avec les fonctionnalités suivantes:
le cache d'images fonctionne, avec un codage MD5 de l'url pour l'unicité des fichiers en cache.
un peu jeune dans les concepts de design patterns, j'ai appris ce qu'est une classe singleton; du coup je l'utilise pour stocker les propriétés uniques pour l'application.
Une version release est prévue pour bientôt ;-)
Reply to this Comment
Version 1.0.30, la release est prévue la semaine prochaine, le drag-n-drop vers le bureau fonctionne!
Reply to this Comment
ça y est la version 1.1 de Razuna Desktop est là.
Voir le post suivant:
http://blog.razuna.com/2009/12/02/razuna-1-3-and-razuna-desktop-1-1-available/
Reply to this Comment
j'ai utilisé les assistants de flex builder 3 pour les webservices, ce qui génère un code verbeux. Dans Flash Builder 4 les assistants produisent du code plus concis et facile à comprendre. Je suis donc en train de récrire le code d'accès aux webservices en m'appuyant sur le résultat de ces assistants.
Reply to this Comment
bug sous leopard, merci de voter: http://bugs.adobe.com/jira/browse/FB-24276
Reply to this Comment
bug résolu par Adobe, maintenant tout fonctionne!
Reply to this Comment