2009-03-01 8 views
1

Angesichts der Tatsache, dass Flex noch eine relativ junge Technologie ist, gibt es bereits eine Reihe von Architektur-Frameworks für die Entwicklung von Flex/AIR (und Flash), die wichtigsten sind Cairngorm und PureMVC. Die Anzahl architektonischer Frameworks ist im Vergleich zu anderen Technologien bemerkenswert.Verwenden Sie ein Architektur-Framework für die Flex/AIR-Entwicklung?

Ich frage mich, wie viele von Ihnen ein Architektur-Framework für die Flex-Entwicklung verwenden. Wenn ja, warum oder warum nicht, wenn Sie keine verwenden?


Zu meiner eigenen Erfahrung und Sicht zu teilen: Ich habe Cairngorm (und ARP für Flash-Entwicklung) auf einer Vielzahl von Projekten und fand verwendet, dass in Zeiten, mussten wir nur zusätzlichen Code schreiben zu passen der Rahmen, der sich offensichtlich nicht richtig anfühlte. Obwohl ich PureMVC bei vielen Gelegenheiten nicht verwendet habe, habe ich das gleiche Bauchgefühl, wenn ich mir die Beispielanwendungen ansehe.

Architektonische Rahmenwerke entsprechen in gewisser Weise der Religion. Die meisten Follower sind davon überzeugt, dass ihr Framework das Framework ist und sind nicht offen oder sehr skeptisch, wenn es um die Verwendung anderer Frameworks geht. (Ich finde mich auch zögerlich und skeptisch, neue Frameworks auszuprobieren, aber das liegt hauptsächlich daran, dass ich lieber warte, bis der Hype vorbei ist.) Zusammenfassend denke ich, dass es besser ist, ein fundiertes Wissen zu haben von Mustern und Praktiken, die Sie in Ihrer Anwendung anwenden können, anstatt einen Rahmen zu wählen und sich daran zu halten. Es gibt einfach kein richtig oder falsch und ich glaube nicht, dass es jemals einen Rahmen geben wird, der als der heilige Gral angesehen wird.

Antwort

1

Zuerst Hy, Grade Post, ich muss sagen, dass ich PureMVC seit mehr als einem Jahr verwende und ich muss sagen, ich bin sehr zufrieden mit den Ergebnissen. Sie haben Recht, es ist schlecht, an einem Framework zu bleiben, aber Sie müssen wissen, wann das Framework verwendet werden soll und wann nicht.

2

Flex selbst ist ein ziemlich schönes Komponentenframework und Flash hat ein sehr einfaches Event-Modell. Diese beiden Dinge allein können Sie bei der Entwicklung von Flex-Apps sehr weit bringen.

Ich schrieb zwei große Anwendungen mit Cairngorm in den Flex 2 Tagen und ich kann es nicht empfehlen. Es ist aufgebläht, überstrapaziert und benötigt viel zu viel Code, um selbst einfache Dinge zu tun. Die Tatsache, dass Leute Code-Generierungs-Tools für Cairngorm geschrieben haben, beweist, dass es einfach zu viel ist. Cairngorm ist auch insofern problematisch, als es stark auf Singleton angewiesen ist, was im Grunde eine unangenehme Art ist, globale Variablen in OOP zu verwenden. MVC muss nicht so schwierig sein und am Ende des Tages sind es nur ein paar Muster, die bei der Code-Organisation helfen und die Geschäftslogik aus Ihrem UI-Code heraushalten. Dies kann sehr einfach ohne einen Rahmen getan werden, indem man etwas Disziplin ausübt.

Was für mich sehr interessant ist, sind die IoC-Lösungen, die in der Community zu fließen beginnen. Ich denke, dass sich das Flex-Framework weiterentwickeln muss, damit IoC/DI-Container einfacher in den Komponentenlebenszyklus integriert werden können. Der Wert, den diese Tools bieten können, ist im Vergleich zu dem, was Sie jemals aus einem MVC-Framework herausholen könnten, enorm.

2

Ich habe in meinen Java-Tagen immer Frameworks verwendet, aber in den letzten zwei Jahren habe ich an verschiedenen Flex-basierten Produkten gearbeitet und es gab keinen formellen architektonischen "Rahmen" für irgendeinen von ihnen - den Auftraggeber Ingenieure hielten sich einfach an gutes Design. Flex (unterstützt nicht zuletzt durch die Ausdruckskraft von MXML) eignet sich gut für das richtige Layering einer Anwendung.

Mit diesem gesagt, muss ich von ganzem Herzen mit brd6644 zustimmen - es gab eine Anzahl von Zeiten, als ich wünschte, wir hätten einige der Fähigkeiten, die IoC/DI Behälter anbieten.

2

Ich verwende Mate. Es ist leicht und sehr einfach einzurichten und zu verstehen. Wie Frühling, ist es nicht aufdringlich und ist ziemlich gut dokumentiert. Wenn Cairngorm ein Vorschlaghammer ist, dann ist Mate ein Leatherman. Es hat sogar Vorteile für triviale Anwendungen, um nur einen Teil des Boilerplate-Codes zu eliminieren.

3

Ich habe PureMVC auf einer Reihe von Projekten, sondern auch mit Swiz, Mate und MVCS ziemlich viel gespielt. Ich habe Cairngorm studiert, aber nicht für reale Projekte verwendet.

Der Abschluss Ihrer Post ist sicherlich auf der Marke: es tatsächlich „besser fundierte Kenntnisse von Mustern und Praktiken zu haben“ ist als nur „einen Rahmen wählen und blieb dabei.“

JEDOCH, wenn Sie in einem Team mit weniger erfahrenen Entwicklern arbeiten, ist es viel einfacher (und schneller), sie auf den neuesten Stand zu bringen, indem Sie sagen: "Dieses Projekt baut auf Framework X, lesen Sie die Framework-Dokumentation" erwarten, dass sie die Theorie und Anwendung guter Muster und Praktiken in einem vernünftigen Zeitrahmen beherrschen.

Ich sehe diese Gerüste als gute Einführungen in die Anwendungsdesign und Separation of Concerns, und finden sie in Teamumgebungen sehr nützlich. Das heißt, ich glaube, dass ein guter IoC-Container und eine Handvoll Design-Muster die gleichen Ergebnisse erzielen können, während sie viel leichter und flexibler sind.

0

Swiz ist die leichteste Wahl da draußen. Alles andere, was ich gesehen habe (hauptsächlich Cairngorm/PureMVC/Mate), hat immer noch viel Code oder XML-Bloat, was ich vermeiden möchte. Ich glaube nicht daran, Code Bloat durch XML Bloat zu ersetzen, gib mir einfach ein paar Werkzeuge, um den Job mit weniger Arbeit zu erledigen!

Verwandte Themen