Choisir son framework Flex

11 02 2009

Flex iconJeremy Wischusen de Visual Flow Designs vient de publier un article sur le portail DevNet qui analyse les forces et les faiblesses des différents frameworks Flex du marché. Voici un résumé de son étude :

Cairngorm: C’est le framework MVC historique et Flex et le plus connu. Il reprend les codes du monde Java et se concentre sur trois domaines: la gestion des actions de l’utilisateur, les interactions avec le serveur et la logique métier tout en gérant le contexte de l’utilisateur. Les classes principales sont le ModelLocator, le ServiceLocator, la logique métier et le FrontController. La force principale de Cairngorm est sa réputation dans la communauté, le fait qu’il soit un projet Open Source Adobe supporté et avec une communauté active. Il est très adapté au développement à plusieurs. La faiblesse se situe au niveau du nombre élevé de classes à coder (chaque événement est relié à une commande, donc une classe à écrire par événement). Une autre limitation est le fait que chaque événement doit avoir sa propre classe de commande, donc nous sommes limités à un répondeur par événement.

PureMVC: A l’origine, ce framework n’a pas été conçu pour Flex. La philosophie MVC est donc respectée à l’extrême.  Comme Cairngorm, un projet PureMVC découpe votre code en plusieurs packages et en de nombreuses classes. PureMVC profite aussi d’une large communauté de plus en plus active. Il est aussi très adapté au développement par équipes. La faiblesse de PureMVC est qu’il ne tire pas partie des forces du framework Flex (il ne profite pas par exemple des forces du langages MXML). PureMVC est jugé plus difficile à appréhender que d’autres frameworks, la courbe d’apprentissage est plus étendue.

Jeremy parle aussi dans son article des frameworks SWIZ et MATE, moins connus mais très originaux dans l’approche. Le choix d’un framework MVC fait souvent débat au démarrage d’un projet. Je vous invite à lire cet article et plus particulièrement la conclusion qui vous donne des conseils pour choisir le bon framework.


Actions

Information

10 responses

11 02 2009
Francois

Je crois que Caingorm utilise beaucoup le Binding de Flex ce qui peut sembler positif mais risque de plomber les performances!
J’utilise PureMVC Multicore depuis quelques mois, je suis impressionné par sa simplicité!

Reste ensuite à utiliser les extra (Utilities) de PureMVC comme les Pipes ou les Modules.

Si vous vous lancer, en PureMVC il faut savoir que la version AS3 Standard ne sera plus mise à jour, remplacée par la version Multicore qui n’est vraiment pas beaucoup plus compliquée… A part les fichiers « libs » cela change 5-10 lignes à peine.

Happy coding

11 02 2009
Palleas

Pour une petite application que je dois développer, je cherchais un framework pour « m’encadrer » dans le MVC, et j’ai trouvé qu’avec un framework type pureMVC, non seulement je n’avais pas le temps de m’y forcer mais surtout, j’avais l’impression de sortir l’arme lourde…

Du coup, je me suis renseigné sur un tout petit framework en développement, Reflex (http://www.lafabrick.com/blog/reflex/), qui me plait beaucoup par sa simplicité🙂.

11 02 2009
Stephane

Je rejoins François sur PureMVC, l’approche modulaire est très puissante.
Pour avoir pratiqué les 2 architectures, PureMVC et Cairngorm, j’en arrive à la conclusion qu’il faut aussi oser prendre ses distances avec l’une et l’autre à certain moment.
Dans Cairngorm, il vaut mieux avoir plusieurs ModelLocator, sinon cela tourne vite au bazar ( trop de variables dans un seul ) et du coup la notion de ModelLocator et de Proxy sont assez proches.

Dans PureMVC, il ne faut pas toujours de Mediator associé à une Vue, il faut chercher à profiter du mécanisme de bubbling des évènements et remonter ainsi indirectement au médiator d’un de ces ancêtres.

Que cela soit Cairngorm ( avec ce nom agaçant ) ou PureMVC (pure, cela fait trop Pretentieux2.0 à mon goût ) le gros avantage au final est que l’on sait où chercher quoi , ce qui n’est pas rien quand une application commence a grossir.
Pour les 2 autres je ne me prononce pas, mais je méfie du conceptuellement superbe (Ioc) qui s’avère l’enfer en pratique et inmaintenable avec le temps. Je ne veux pas d’usine à gaz sur le client, cela fait des années que SUN nous pousse vers des architectures fumantes ( à la J2EE ) qui n’ont que pour seul avantage de ne pas émettre de CO2🙂

11 02 2009
François Le Droff

Un petit rappel rafraichissant : Flex est déja un framework.

Avant de partir et choisir tel ou tel framework MVC, pourquoi ne pas commencer par mettre en place le pattern MVC(S) (sans aucun de ces autres frameworks).

Voici un excellent article pour débuter :
http://www.adobe.com/devnet/flex/articles/blueprint.html

Il sera alors peut-être pertinent de rajouter:
* un framework MVC simple !
* un framework IOC simple !

11 02 2009
francis bourre

En ce qui me concerne, ce genre d’article sur devnet me laisse sur ma faim.
Si vous vous passionnez vraiment pour le sujet, Tony Hillerson a écrit sur insideria.com une série d’articles intitulée « framework quest ». Cette étude comparative a le mérite d’être pointue avec code source à l’appui (réalisation d’un client Twitter). De plus, Tony a une bonne maîtrise du sujet et son analyse en plus d’être souvent pertinente, est très étoffée.

http://blogs.oreilly.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=34&search=FrameworkQuest

12 02 2009
Arnaud

J’ai lu son article hier et je l’ai trouvé intéressant pour la comparaison des frameworks. Car c’est toujours une question que je me pose : lequel choisir ? au moins pour commencer à bosser sur un framework MVC.
Ensuite, il est vrai qu’il y a peut-être un « effet de mode » et que l’utilisation d’un de ces frameworks n’est pas une obligation, il faut juste se poser la question sérieusement en début de projet.

J’ai commencé une appli qui n’est pas développée sous un de ses frameworks mais j’ai tenté d’avoir à l’esprit la philosophie (pour éventuellement pour migrer l’appli sous PureMVC un jour). Ce qui m’a permis en tout cas de refactoriser le code et de faire des modifs de structure assez facilement. Par contre, j’ai rencontré des limites sur les Event par exemple, alors PureMVC m’aurait-il aidé par ex ? Et je me suis posé la question de la réelle nécessité de mediator pour certaines classes simples, (merci Stéphane de confirmer mes doutes😉 ) donc je me serais peut-être embêté à respecter le framework strictement.

Ce qui m’intéresse également, ce sont les retours d’expériences des pros (je ne suis qu’amateur) sur leur utilisation des frameworks donc déjà merci pour les commentaires précédents et les liens fournis !🙂

28 02 2009
Florian Müller

Le choix d’un framework MVC se pose clairement une problématique dès que l’on souhaite réaliser des applications Flex de grande envergure et surtout avec une équipe composée de plusieurs développeurs aux compétences hétérogènes et aux spécialités multiples.
Pour notre part, après avoir étudier la plupart des framwork, nous avons choisi La Foundry, sa philosophie est très simple d’approche, il est disponible avec bon nombre d’outils et un plug-in Maven élaboré.
De plus, pour toute société qui fait le choix de Flex, il faut aussi inclure l’accompagnement dans les critères de sélection et malheureusement les consultants sur PureMVC sont très rare et rarement francophone, voir même rarement européen.
La Foundry a su répondre pour nous à l’ensemble de ces critères et les premiers développement sont plus que bien vaicu par l’ensemble des équipes.

4 03 2009
Romain

Nous utilisons aussi le framework Foundry au sein de nos projets. C’est un framework opensource (http://sourceforge.net/projects/sbasfoundry/) très complet avec de nombreuses fonctionnalités.
Un gros effort de documentation a été fait via le site suivant : http://www.servebox.org/.
Je rejoins Florian sur le fait qu’il est très appréciable de pouvoir bénéficier du support d’interlocuteurs francophones.
Après avoir utilisé Cairngorm en Flex 1.5, nous avons décidé lors de notre migration Flex 2 / Flex 3 de partir sur ce nouveau framework qui répond vraiment à nos attentes.
Un développement d’applications vraiment facilité, des fonctionnalités de browsing très intéressantes, des nombreux ajouts (classes utilitaires, enrichissement des Collections), gestions des droit ACL (en cours…).

De plus, comme le dit Florian, leur plugin maven qui permet de s intégrer dans le cycle de vie de maven afin de construire les applications Flex est un très gros plus.
Cela permet d’intégrer Flex aux autres projets J2ee via par exemple l’intégration continue (ex:CruiseControl).

Il est tout à fait adapté au développement en équipe, et répond aux problématiques des 2 frameworks présentés ci-dessus.
Un framework à recommander!

19 03 2009
Iteratif

Bonsoir,

je trouve le commentaire de François Le Droff très pertinent (qui n’a d’ailleurs interpellé personne!!!) sur la maîtrise du modèle MVC avant d’utiliser ces fameux frameworks…

11 05 2009
Dis moi comment tu Flex « Me, Myself And I

[…] (Vous pourrez retrouver une liste de frameworks MVC sur CodeMoiUnMouton) […]

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s




%d blogueurs aiment cette page :