Il y a 13 ans -
Temps de lecture 2 minutes
Devoxx – Jour 3 – Spring Actionscript
Spring ActionScript est un framework Spring permettant de faire de l’inversion de contrôle en ActionScript. Ce framework connu initialement sous le nom de Prana Framework est actuellement en incubation chez Spring. Devoxx fut l’occasion pour Christophe Herreman, initiateur du projet, de nous le présenter.
Définition du contexte d’application
Comme en Java, il faut définir le contexte d’application. A la différence de Java, deux solutions sont possibles : le XML et le MXML.
Ces deux façons de configurer ont leurs avantages et leurs inconvénients :
- XML : il n’est pas utile de recompiler à chaque modification de ce fichier mais aucune erreur ne sera détectée si la configuration est mauvaise.
- MXML : la recompilation est nécessaire en cas de modification du fichier mais le compilateur pourra avertir des erreurs dans la configuration.
Il est également possible de configurer le contexte d’application pour appeler directement un objet à distance.
L’architecture MVC
Cette architecture sera disponible dans la version 0.9 (Spring ActionScript est actuellement en version 0.8).
Le but de Spring ActionScript est de remplacer ou d’intégrer les différents frameworks MVC existants (Cairngorm, PureMVC, Mate, …). Dans la nouvelle version, pour créer son propre MVC avec Spring Actionscript, il faut :
- L’API Operation
- Event Bus
- Autowiring
L’API Operation
Face aux comportements asynchrones du Flash Payer et au nombre d’API disponibles pour ces appels , Spring ActionScript fournit une interface IOperation
. Il a fallu rendre ces appels uniformes pour les injections de dépendances. Dans cette API, vous pourrez retrouver, par exemple, la classe ProgressOperation
permettant de suivre la progression de l’appel asynchrone.
EventBus
Il permet de centraliser les évènements et de les dispatcher. Il correspond au contrôleur du modèle MVC. EventBus fonctionne avec les évènements standards Flash.
Voici un exemple de dispatching d’évènement :
EventBus.dispatchEvent(new Event("monEvenement"));
Autowiring
Avec l’autowiring (remplissage automatique en français) il est possible de configurer les dépendances grâce au tag Metadata. Spring va ensuite explorer les tags et réaliser l’injection de dépendances. L’autowiring va donc, pour résumer, gérer les dépendances. Il peut également fonctionner avec d’autres frameworks comme Cairngorm par exemple.
Un exemple d’autowiring :
[Autowired(name="myObject", property="prop")]
Conclusion
Ce nouveau framework tente de faire sa place parmi les frameworks ActionScript déjà existants. En incubation pour le moment, la nouvelle version propose des fonctionnalités qui permettent de faciliter la structuration de la couche présentation. Face à la lourdeur du code à fournir pour mettre en place Cairngorm, il pourrait avoir des chances de séduire la communauté.
Commentaire
2 réponses pour " Devoxx – Jour 3 – Spring Actionscript "
Published by Guillaume Carre , Il y a 13 ans
A noter qu’il existe déjà une extension Spring Actionscript pour Cairngorm, qui permet de configurer et brancher les différents composants développés avec Cairngorm avec Spring Actionscript, et donc faciliter quelque peu l’utilisation de Cairngorm (qui reste tout de même très verbeux et lourd à manipuler).
Si les lecteurs veulent un exemple d’injection de dépendances et d’inversion de contrôle faits TRES simplement, je leur conseille vivement de jeter un coup d’oeil à Swiz, le framework qui monte, c’est le jour et la nuit par rapport à Cairngorm + Spring ActionScript, un vrai bonheur à utiliser.
Published by William Draï , Il y a 13 ans
J’en profite pour parler du framework client Tide inclus dans GraniteDS qui est un peu le pendant de JBoss Seam et de JCDI/JSR-299 pour Flex (composants stateful, injection dynamique, typage fort pour la gestion d’événements, conversations clientes), alors que Swiz et évidemment Spring ActionScript sont plutôt inspirés de Spring.
Petite présentation ici : http://ria.dzone.com/articles/introduction-tide-framework