33 votes

Frameworks Flex MVC

J'utilise et profite actuellement de l' infrastructure Pure MVC de Flex MVC. J'ai entendu de bonnes choses à propos de Cairngorm, qui est pris en charge par Adobe et dont le dynamisme est le premier sur le marché. Et il y a un nouveau joueur appelé Mate, qui a beaucoup de buzz.

Est-ce que quelqu'un a essayé deux ou trois de ces cadres et formé une opinion?

Merci!

48voto

Theo Points 60103

Mate est mon choix. La première et principale raison est qu'il est discret. Mon code de l'application n'a pas de dépendances sur le cadre, il est fortement découplé, réutilisable et testable.

L'une des plus belles caractéristiques de la Contrainte est le déclaratif de configuration, essentiellement, vous connecter votre application à l'aide de balises dans ce qui est appelé un plan de l'événement -- en fait une liste d'événements qui génère de votre application, et quelles sont les mesures à prendre lorsqu'ils se produisent. Le plan de l'événement, donne un bon aperçu de ce que votre application n'. Second utilise Flex " propre mécanisme d'événements, il n'a pas d'inventer ses propres comme la plupart des autres cadres. Vous pouvez envoyer un événement à partir de n'importe où dans la vue de la hiérarchie et de l'avoir remonter jusqu'le cadre automatiquement, au lieu d'avoir une ligne directe, à l'instar de Cairngorms CairngormEventDispatcher ou PureMVC du système de notification.

Mate aussi utilise une forme d'injection de dépendance (en utilisant les fixations) qui permet de connecter vos modèles, vos points de vue sans que ni l'un savoir sur l'autre. C'est probablement la fonction la plus puissante du cadre.

À mon avis, aucune autre application Flex cadres de venir n'importe où près de la Contrainte. Cependant, ce sont les prétendants et pourquoi je les considère comme moins utiles:

PureMVC activement refuse de vous de nombreux avantages de Flex (par exemple les liaisons et de remontée d'événements dans le cadre de portable -- un doubious but de mon point de vue. Il est également conçu, et envahissantes, comme ils viennent. Chaque partie de votre application dépend du cadre. Cependant, PureMVC n'est pas terrible, pas juste un très bon ajustement pour le Flex. Une alternative est FlexMVCS, un effort à faire PureMVC plus approprié pour Flex (malheureusement il n'y a pas de documentation pourtant, il suffit de source).

Cairngorm est un faisceau d'anti-modèles qui conduisent vers des applications qui sont étroitement associés aux variables globales. Nuff said (mais si vous êtes intéressés, voici un peu plus de mes pensées, et ici aussi).

Swiz est un cadre inspiré par le framework Spring pour Java et Cairngorm (essayer de faire pour le pire des parties de ceux-ci). Il fournit un conteneur d'injection de dépendance et utilise les métadonnées pour activer la fonction d'auto-câblage des dépendances. Il est intéressant, mais un peu bizzare dans qui va à de telles extrémités pour éviter les variables globales de Cairngorm en utilisant l'injection de dépendance, mais utilise ensuite une variable globale pour l'événement central de l'expédition.

Ceux-ci sont ceux que j'ai essayé ou de recherches. Il y a quelques autres que j'en ai entendu parler, mais aucun qui je pense sont largement utilisés. Mate et Swiz ont été présentés lors de la récente 360|Flex de la conférence, et il y a des vidéos disponibles (Mate les gens ont des instructions sur la façon de les regarder)

7voto

Vladimir Grigorov Points 3306

Découvrez Robotlegs .

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

5voto

Yakov Fain Points 823

J'ai vu ces sortes de débats, de nombreuses de nombreuses fois. Ils commencent généralement avec Flex cadre utilisez-vous. Pas beaucoup de gens se posent la question POURQUOI avez-vous même pas besoin d'utiliser un cadre en haut de la structure Flex.

Je ne suis pas en faveur de l'utilisation d'un framework MVC (Cairngorm, PureMVC) dans Flex code. Mate est un meilleur candidat. Au moins c'est simple à comprendre et non intrusive. Je préfère l'utilisation accrue des composants
à la carte. Nous avons créé et open source un tas d'entre eux (voir plus clair.cfc dans la boîte à outils au Clair http://sourceforge.net/projects/cleartoolkit/.

Le premier chapitre de notre prochaine O'Reilly livre "le Développement de l'Entreprise avec Flex a une comparaison détaillée de plusieurs cadres Flex: http://my.safaribooksonline.com/9780596801465 .

1voto

Christophe Herreman Points 11844

Nous sommes actuellement en train de travailler sur une CVM mise en œuvre dans le Printemps ActionScript cadre. Il utilise toute la puissance de l'Inversion de Contrôle conteneur de sorte que vous avez centralisé de gestion de la dépendance et sont capables de permuter les choses facilement. Il n'est pas très directif dans la façon dont vous faites les choses, mais vous offre une grande flexibilité de l'infrastructure.

Si vous êtes nouveau au Printemps ActionScript et les accidents de la route, j'ai un cours d'introduction à poster sur mon blog: http://www.herrodius.com/blog/158

1voto

lightblade Points 1145

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

Je n'ai jamais utilisé Mate, je ne peux donc rien en dire. Mais je recommande contre Cairngorm. Cairngorm est dit open source, mais la communauté ne la supporte pas vraiment. Son cycle de publication est également lent. J'attendais TOUJOURS que Navigation Library sorte de la version bêta.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X