Question

J'utilise et j'apprécie actuellement l'utilisation du framework Flex MVC PureMVC.J'ai entendu de bonnes choses à propos de Cairngorm, qui est soutenu par Adobe et qui est le premier à être commercialisé.Et il y a un nouveau joueur appelé Mate, qui fait beaucoup de buzz.

Quelqu'un a-t-il essayé deux ou trois de ces frameworks et s'est-il fait une opinion ?

Merci!

Était-ce utile?

La solution

Copain est mon choix.La première raison est qu’il est totalement discret.Mon code d'application n'a aucune dépendance sur le framework, il est hautement découplé, réutilisable et testable.

L'une des fonctionnalités les plus intéressantes de Mate est la configuration déclarative. Vous connectez essentiellement votre application à l'aide de balises dans ce qu'on appelle une carte d'événements - essentiellement une liste d'événements générés par votre application et les actions à entreprendre lorsqu'ils se produisent.La carte des événements donne un bon aperçu de ce que fait votre application.Mate utilise le propre mécanisme d'événements de Flex, il n'invente pas le sien comme la plupart des autres frameworks.Vous pouvez envoyer un événement depuis n'importe où dans la hiérarchie des vues et le faire remonter automatiquement dans le framework, au lieu de devoir disposer d'une ligne directe, comme Cairngorms CairngormEventDispatcher ou le système de notification de PureMVC.

Mate utilise également une forme d'injection de dépendances (exploitant les liaisons) qui permet de connecter vos modèles à vos vues sans que l'un ou l'autre ne connaisse l'autre.C’est probablement la fonctionnalité la plus puissante du framework.

À mon avis, aucun des autres frameworks d'application Flex ne se rapproche de Mate.Cependant, voici les concurrents et pourquoi je les considère comme moins utiles :

PureMVC vous refuse activement de nombreux avantages de Flex (par exemple les liaisons et la diffusion d'événements) afin que le framework soit portable - un objectif douteux à mon avis.Il est également sur-conçu et aussi invasif que possible.Chaque partie de votre application dépend du framework.Cependant, PureMVC n'est pas terrible, mais ne convient tout simplement pas à Flex.Une alternative est FlexMVCS, un effort pour rendre PureMVC plus adapté à Flex (malheureusement, il n'y a pas encore de documentation, juste la source).

Cairngorm est un ensemble d'anti-modèles qui conduisent à des applications étroitement couplées à des variables globales.Nuff a dit (mais si ça t'intéresse, voici quelques autres de mes pensées, et ici aussi).

Suisse est un framework inspiré du framework Spring pour Java et Cairngorm (essayant de compenser les pires aspects de ce dernier).Il fournit un conteneur d'injection de dépendances et utilise des métadonnées pour permettre le câblage automatique des dépendances.C'est intéressant, mais un peu bizarre dans la mesure où cela va jusqu'à éviter les variables globales de Cairngorm en utilisant l'injection de dépendances, mais utilise ensuite une variable globale pour la répartition centrale des événements.

Ce sont ceux que j’ai essayés ou recherchés.Il y en a quelques autres dont j'ai entendu parler, mais aucun qui, à mon avis, soit largement utilisé.Mate et Swiz ont tous deux été présentés lors de la récente conférence 360|Flex, et des vidéos sont disponibles (les gens de Mate ont des instructions sur la façon de les surveiller)

Autres conseils

Vérifier Jambes de robot.

"Il fournit la colle dont votre application a besoin pour fonctionner facilement de manière découplée.Grâce à l'utilisation d'injections de dépendances basées sur des métadonnées automatisées, Robotlegs supprime le code passe-partout dans une application.En favorisant le couplage lâche et en évitant l'utilisation de Singletons et de statiques dans le framework, Robotlegs peut vous aider à écrire du code hautement testable.

J'ai vu ce genre de discussions à maintes reprises.Ils commencent généralement par QUEL framework Flex utilisez-vous.Peu de gens se posent la question POURQUOI avez-vous même besoin d'utiliser un framework en plus du framework Flex.

Je ne suis pas favorable à l'utilisation d'un framework MVC (Cairngorm, PureMVC) dans le code Flex.Mate est un meilleur candidat.Au moins, c'est simple à comprendre et non intrusif.Je préfère utiliser des composants améliorés
à la carte.Nous en avons créé et open source un certain nombre (voir clear.swc dans Clear Toolkit à l'adresse http://sourceforge.net/projects/cleartoolkit/.

Le premier chapitre de notre prochain livre O'Reilly "Enterprise Development with Flex" présente une comparaison détaillée de plusieurs frameworks Flex : http://my.safaribooksonline.com/9780596801465 .

Nous travaillons actuellement sur un MVCS mise en œuvre dans le ActionScript de printemps cadre.Il utilise toute la puissance du conteneur Inversion of Control afin que vous disposiez d'une gestion centralisée des dépendances et que vous puissiez facilement échanger des éléments.Il n'est pas très normatif sur la façon dont vous faites les choses mais vous fournit une infrastructure très flexible.

Si vous êtes nouveau sur Spring ActionScript et MVCS, j'ai un article d'introduction sur mon blog : http://www.herrodius.com/blog/158

J'utilise (et recommande) le framework Swiz.Ce n'est pas aussi complexe que PureMVC, mais il fait le travail.De plus, c'est un conteneur IoC, et j'aime IoC.

Je n'ai jamais utilisé Mate, je ne peux donc pas faire de commentaire à ce sujet.Mais je déconseille Cairngorm.Cairngorm est censé être open source, mais il n'est vraiment pas bien pris en charge par la communauté.Son cycle de sortie est également lent.J'attends depuis toujours que la bibliothèque de navigation sorte de la version bêta.

Gardez à l’esprit que Cairngorm est LE framework sponsorisé par Adobe, et désormais hébergé sur opensource.adobe.com.Notez également qu'il est de loin le plus prolifique parmi les développeurs à l'heure actuelle.

Si vous connaissez Cairngorm et recherchez un emploi, vous ne vous tromperez pas.

Cairngorm est facile à utiliser et bien documenté :http://www.cairngormdocs.org/

Je recommande le Explorateur de diagrammes de Cairngorm et l'article classique sur Cairngorm.

J'étais nouveau sur Flex lorsque j'ai appris Cairngorm, mais je l'ai trouvé utile et facile à apprendre avec ce qui précède.

MATE est la voie à suivre. Un framework qui fait ce qu'un framework devrait faire.Architecture découplée Efficacité simple d'impression de petits pieds

J'ai un peu des doutes sur ces frameworks MVC (Mate, Cairgnorm, etc...) avec la façon dont ils implémentent les cartes d'événements et les contrôleurs d'événements, cela me rappelle trop wxWidgets et autres boîtes à outils GUI de ce genre.

Cependant, ce serait vraiment bien si Flex ou l'un de ces frameworks MVC utilise le paradigme Signal/Slots proposé par Qt.

Je recommande d'utiliser MATE pour développer des projets importants et complexes. Comme d'autres frameworks, Mate répond aux problèmes architecturaux courants dans Flex tels que la gestion des événements, la liaison de données et le traitement asynchrone, mais l'objectif le plus important est qu'il soit uniquement basé sur des balises, donc c'est très facile à utiliser dans nos applications Flex.

Oui, Mate est le meilleur framework pour flex.J'ai utilisé dans une application qui a eu plusieurs révisions à la fois en termes d'interface graphique et de service de données back-end.Il me suffisait de changer ma carte d'événements à chaque fois qu'il y avait un changement.

Mate a également une implémentation MockService qui rend les tests faciles, ce qui n'est pas un avantage pour un compagnon mais c'est agréable d'en avoir un.

Vous devez concevoir votre propre « framework » MVC en fonction de vos propres besoins.Si vous connaissez un peu les modèles de conception, Flex a beaucoup à offrir de manière native.

La meilleure chose dans la conception de votre propre MVC est qu'il peut être léger ou complexe selon vos besoins.

Mon expérience avec les frameworks est que vous devez essentiellement écrire deux fois plus de code que sans utiliser de framework.L'avantage des frameworks est qu'ils vous obligent à travailler de manière cohérente, mais si vous pouvez travailler de manière cohérente en utilisant des modèles de conception, les meilleures pratiques et le bon sens, je suggère de rester à l'écart des frameworks.

Il est très difficile de déterminer quel cadre est meilleur que les autres.En fonction de la nature et de la complexité du projet et de l'expertise et des préférences des membres de l'équipe, l'un peut être plus approprié que l'autre dans une situation donnée.

J'ai compilé une liste de Flex Frameworks avec de brèves descriptions et des pointeurs vers plus d'informations à leur sujet dans cette URL.http://practicalflex.blogspot.com/2011/08/list-of-adobe-flex-tools-frameworks.htmll'URL peut être utile à toute personne cherchant à évaluer un framework Flex pour son projet.

Après avoir évalué la plupart des frameworks Flex, j'ai trouvé le framework Swiz le plus simple et le plus facile à utiliser pour un nouveau développeur.Par conséquent, il garantit une maintenabilité et une extensibilité faciles de votre application.

J'ai travaillé sur les frameworks Cairngorm et Mate.J'ai commencé avec le framework Cairngorm.C'est bien de travailler mais difficile à comprendre au début.Il gère intelligemment la répartition des événements.Vous pouvez distribuer des événements à partir des classes elles-mêmes et cela sera pris en charge par les classes de commandes filaires du framework.Il existe un référentiel unique pour stocker les données, ce qui facilite leur gestion.C'est une classe singleton.Une fois que vous maîtrisez le framework, le travail est plus facile.Mate, en revanche, est un framework basé sur des balises.Il s'agit d'un framework piloté par les événements, donc tous les événements sont gérés dans le fichier eventmap.Il effectue l'écoute des événements, l'injection de propriétés et bien d'autres choses à partir de cette classe elle-même.Vous pouvez distribuer des événements à partir des classes en lui transmettant l'instance du répartiteur d'événements framework.Vous n'êtes pas obligé d'utiliser une classe singleton comme cairngorm pour cela.Vous pouvez lier une propriété d'une classe à des vues en utilisant directement l'injection de propriété, vous n'avez donc pas besoin d'utiliser de classe singleton.Dans Mate, toutes les classes et vues sont exemptes de code framework, il s'agit donc d'un framework découplé.Il est facile de déplacer des composants d’un endroit à un autre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top