Domanda

Attualmente sto utilizzando e mi diverto a utilizzare il framework Flex MVC PureMVC.Ho sentito parlare bene di Cairngorm, che è supportato da Adobe ed è il primo ad essere lanciato sul mercato.E c'è un nuovo giocatore chiamato Mate, che ha parecchio entusiasmo.

Qualcuno ha provato due o tre di questi framework e si è formato un'opinione?

Grazie!

È stato utile?

Soluzione

Compagno è la mia scelta.Il motivo principale è che è completamente discreto.Il codice della mia applicazione non ha dipendenze dal framework, è altamente disaccoppiato, riutilizzabile e testabile.

Una delle caratteristiche più interessanti di Mate è la configurazione dichiarativa, essenzialmente colleghi la tua applicazione utilizzando i tag in quella che viene chiamata mappa degli eventi - fondamentalmente un elenco di eventi generati dalla tua applicazione e quali azioni intraprendere quando si verificano.La mappa degli eventi offre una buona panoramica di ciò che fa la tua applicazione.Mate utilizza il meccanismo degli eventi di Flex, non ne inventa uno proprio come la maggior parte degli altri framework.Puoi inviare un evento da qualsiasi punto della gerarchia di visualizzazione e farlo emergere automaticamente nel framework, invece di dover avere una linea diretta, come Cairngorms CairngormEventDispatcher o il sistema di notifica di PureMVC.

Mate utilizza anche una forma di iniezione delle dipendenze (sfruttando i collegamenti) che rende possibile connettere i tuoi modelli alle tue visualizzazioni senza che nessuno dei due sappia dell'altro.Questa è probabilmente la caratteristica più potente del framework.

A mio avviso, nessuno degli altri framework applicativi Flex si avvicina a Mate.Tuttavia, questi sono i contendenti e il motivo per cui li considero meno utili:

PureMVC ti nega attivamente molti dei vantaggi di Flex (ad esempio associazioni e bubbling di eventi) affinché il framework sia portatile: un obiettivo dubbio a mio avviso.È anche eccessivamente ingegnerizzato e invasivo come viene.Ogni singola parte della tua applicazione dipende dal framework.Tuttavia, PureMVC non è terribile, ma non si adatta molto bene a Flex.Un'alternativa è FlexMVCS, uno sforzo per rendere PureMVC più adatto a Flex (sfortunatamente non c'è ancora documentazione, solo codice sorgente).

Cairngorm è un insieme di anti-pattern che portano ad applicazioni strettamente legate a variabili globali.Bando alle ciance (ma se sei interessato, ecco altri miei pensieri, E anche qui).

Svizzera è un framework ispirato al framework Spring per Java e Cairngorm (cercando di compensare le parti peggiori di quest'ultimo).Fornisce un contenitore per l'inserimento delle dipendenze e utilizza i metadati per abilitare il cablaggio automatico delle dipendenze.È interessante, ma un po' bizzarro, in quanto fa di tutto per evitare le variabili globali di Cairngorm utilizzando l'iniezione di dipendenza ma poi utilizza una variabile globale per l'invio centrale degli eventi.

Questi sono quelli che ho provato o ricercato.Ce ne sono alcuni altri di cui ho sentito parlare, ma nessuno che ritenga sia ampiamente utilizzato.Mate e Swiz sono stati entrambi presentati alla recente conferenza 360|Flex e sono disponibili video (quelli di Mate hanno istruzioni su come guardarli)

Altri suggerimenti

Guardare Gambe robotiche.

"Fornisce il collante di cui la tua applicazione ha bisogno per funzionare facilmente in modo disaccoppiato.Attraverso l'uso dell'iniezione automatizzata delle dipendenze basata sui metadati, Robotlegs rimuove il codice boilerplate in un'applicazione.Promuovendo l'accoppiamento lento ed evitando l'uso di Singleton e statici nel framework, Robotlegs può aiutarti a scrivere codice altamente testabile."

Ho visto questo tipo di discussioni molte volte.Di solito iniziano con QUALE framework Flex usi.Non molte persone si chiedono PERCHÉ è necessario utilizzare un framework sopra il framework Flex.

Non sono favorevole all'utilizzo di alcun framework MVC (Cairngorm, PureMVC) nel codice Flex.Il compagno è un candidato migliore.Almeno è semplice da capire e non invadente.Preferisco utilizzare componenti avanzati
alla carta.Ne abbiamo creati e resi open source molti (vedi clear.swc nel Clear Toolkit all'indirizzo http://sourceforge.net/projects/cleartoolkit/.

Il primo capitolo del nostro prossimo libro di O'Reilly "Enterprise Development with Flex" contiene un confronto dettagliato di diversi framework Flex: http://my.safaribooksonline.com/9780596801465 .

Attualmente stiamo lavorando su a MVC implementazione nel ActionScript primaverile struttura.Utilizza tutta la potenza del contenitore Inversione di controllo in modo da avere una gestione centralizzata delle dipendenze e poter scambiare facilmente le cose.Non è molto prescrittivo nel modo in cui fai le cose, ma ti fornisce un’infrastruttura molto flessibile.

Se non conosci Spring ActionScript e MVCS, ho un post introduttivo sul mio blog: http://www.herrodius.com/blog/158

Sto usando (e consiglio) il framework Swiz.Non è così complesso e PureMVC, ma porta a termine il lavoro.Inoltre, è un contenitore IoC e mi piace IoC.

Non ho mai usato Mate, quindi non posso commentarlo.Ma consiglio contro Cairngorm.Si dice che Cairngorm sia open source, ma in realtà non è ben supportato dalla comunità.Anche il suo ciclo di rilascio è lento.Sto aspettando da SEMPRE che la Navigation Library esca dalla beta.

Tieni presente che Cairngorm è IL framework sponsorizzato da Adobe e ora ospitato su opensource.adobe.com.Tieni inoltre presente che al momento è di gran lunga il più prolifico tra gli sviluppatori.

Se conosci Cairngorm e stai cercando lavoro, non sbaglierai molto.

Cairngorm è facile da usare e ben documentato:http://www.cairngormdocs.org/

Raccomando il Esploratore di diagrammi di Cairngorm e il classico articolo su Cairngorm.

Ero nuovo a Flex quando ho imparato Cairngorm, ma l'ho trovato utile e facile da imparare con quanto sopra.

MATE è la strada da percorrere. Un framework che fa ciò che un framework dovrebbe fare.Architettura decisamente accoppiata semplice efficienza di stampa a piede piccolo

Ho un po' i miei dubbi su questi framework MVC (Mate, Cairgnorm, ecc...) con il modo in cui implementano mappe di eventi e controller di eventi, mi ricorda troppo wxWidgets e altri toolkit GUI di questo tipo.

Tuttavia, sarebbe davvero bello se Flex o uno di questi framework MVC utilizzasse il paradigma Signal/Slot offerto da Qt.

Consiglio di utilizzare MATE per sviluppare progetti grandiosi e complicati, come altri framework, Mate affronta le preoccupazioni architettoniche comuni in Flex come la gestione degli eventi, l'associazione dei dati e l'elaborazione asincrona, ma l'obiettivo più importante è che sia basato solo su tag, quindi è molto facile da usare nelle nostre applicazioni Flex.

Sì Mate è il miglior framework per la flessibilità.Ho utilizzato in un'applicazione che aveva diverse revisioni sia in termini di GUI che di servizio dati back-end.Avevo solo bisogno di cambiare la mia mappa degli eventi ogni volta che c'era qualche cambiamento.

Mate ha anche l'implementazione di MockService che rende i test facili, non un vantaggio per il compagno, ma bello averne uno.

Dovresti progettare il tuo "framework" MVC in base alle tue esigenze.Se conosci un po' i design pattern, Flex ha molto da offrire in modo nativo.

La cosa migliore nel progettare il tuo MVC è che può essere leggero o complesso in base alle tue esigenze.

La mia esperienza con i framework è che fondamentalmente devi scrivere il doppio del codice rispetto a quello che faresti senza utilizzare un framework.L'aspetto positivo dei framework è che ti costringe a lavorare in modo coerente, ma se riesci a lavorare in modo coerente utilizzando design pattern, migliori pratiche e buon senso, suggerirei di stare lontano dai framework.

È molto difficile giungere a una conclusione su quale framework sia migliore di altri.A seconda della natura e della complessità del progetto e delle competenze e preferenze dei membri del team, uno potrebbe essere più adatto di un altro in una determinata situazione

Ho compilato un elenco di Flex Frameworks con brevi descrizioni e riferimenti a ulteriori informazioni su di essi in questo URL.http://practicalflex.blogspot.com/2011/08/list-of-adobe-flex-tools-frameworks.htmll'URL può essere utile per chiunque cerchi di valutare un framework Flex per il proprio progetto.

Dopo aver valutato la maggior parte dei framework Flex, ho trovato il framework Swiz più semplice e facile da utilizzare per un nuovo sviluppatore.Quindi garantisce una facile manutenibilità ed estensibilità dell'applicazione.

Ho lavorato su framework Cairngorm e Mate.Ho iniziato con il framework Cairngorm.È bello lavorare ma difficile da capire all'inizio.Gestisce l'invio degli eventi in modo intelligente.Puoi inviare eventi dalle classi stesse e questo sarà gestito dalle classi di comando cablate del framework.Esiste un unico repository per l'archiviazione dei dati, quindi è facile gestirli.È una classe singleton.Una volta acquisita la struttura, il lavoro è più semplice.Mate d'altra parte è un framework basato su tag.È un framework basato sugli eventi, quindi tutti gli eventi vengono gestiti nel file eventmap.Esegue l'ascolto di eventi, l'inserimento di proprietà e molte altre cose da questa stessa classe.Puoi inviare eventi dalle classi passandogli l'istanza del dispatcher di eventi del framework.Non è necessario utilizzare la classe singleton come Cairngorm in questo.È possibile associare la proprietà in una classe alle visualizzazioni utilizzando direttamente l'inserimento di proprietà, quindi non è necessario utilizzare alcuna classe singleton.In Mate, tutte le classi e la vista sono libere dal codice del framework, quindi è un framework disaccoppiato.È facile spostare i componenti da un luogo all'altro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top