Pregunta

Actualmente estoy usando y disfruto usando el marco Flex MVC. puroMVC.He oído algunas cosas buenas sobre Cairngorm, que cuenta con el respaldo de Adobe y es el primero en llegar al mercado.Y hay un nuevo reproductor llamado Mate, que está generando mucha expectación.

¿Alguien ha probado dos o tres de estos marcos y se ha formado una opinión?

¡Gracias!

¿Fue útil?

Solución

Compañero es mi elección.La primera y principal razón es que es completamente discreto.El código de mi aplicación no depende del marco, está altamente desacoplado, es reutilizable y comprobable.

Una de las mejores características de Mate es la configuración declarativa, esencialmente conectas tu aplicación usando etiquetas en lo que se llama un mapa de eventos, básicamente una lista de eventos que genera tu aplicación y qué acciones tomar cuando ocurren.El mapa de eventos ofrece una buena descripción general de lo que hace su aplicación.Mate utiliza el propio mecanismo de eventos de Flex, no inventa el suyo propio como la mayoría de los otros marcos.Puede enviar un evento desde cualquier lugar de la jerarquía de vistas y hacer que suba al marco automáticamente, en lugar de tener que tener una línea directa, como Cairngorms CairngormEventDispatcher o el sistema de notificación de PureMVC.

Mate también utiliza una forma de inyección de dependencia (aprovechando enlaces) que hace posible conectar sus modelos a sus vistas sin que ninguno de los dos conozca al otro.Esta es probablemente la característica más poderosa del marco.

En mi opinión, ninguno de los otros marcos de aplicaciones Flex se acerca a Mate.Sin embargo, estos son los contendientes y por qué los considero menos útiles:

PureMVC le niega activamente muchos de los beneficios de Flex (por ejemplo, enlaces y propagación de eventos) para que el marco sea portátil, un objetivo dudoso en mi opinión.También está sobrediseñado y es muy invasivo.Cada parte de su aplicación depende del marco.Sin embargo, PureMVC no es terrible, simplemente no encaja muy bien con Flex.Una alternativa es FlexMVCS, un esfuerzo por hacer que PureMVC sea más adecuado para Flex (desafortunadamente aún no hay documentación, solo fuente).

Cairngorm es un conjunto de antipatrones que conducen a aplicaciones estrechamente acopladas a variables globales.Nuff dijo (pero si estás interesado, Aquí hay algunos más de mis pensamientos., y aquí también).

Suiza es un framework inspirado en el framework Spring para Java y Cairngorm (tratando de compensar las peores partes de este último).Proporciona un contenedor de inyección de dependencias y utiliza metadatos para permitir el cableado automático de dependencias.Es interesante, pero un poco extraño, porque llega a tales extremos para evitar las variables globales de Cairngorm mediante el uso de inyección de dependencia, pero luego usa una variable global para el envío central de eventos.

Esos son los que he probado o investigado.Hay algunos otros de los que he oído hablar, pero creo que ninguno se usa ampliamente.Mate y Swiz se presentaron en la reciente conferencia 360|Flex y hay videos disponibles (La gente de Mate tiene instrucciones sobre cómo verlos.)

Otros consejos

Verificar patas de robot.

"Proporciona el pegamento que su aplicación necesita para funcionar fácilmente de forma desacoplada.Mediante el uso de inyección de dependencias automatizada basada en metadatos, Robotlegs elimina el código repetitivo de una aplicación.Al promover el acoplamiento flexible y evitar el uso de Singletons y estática en el marco, Robotlegs puede ayudarle a escribir código que sea altamente comprobable".

He visto este tipo de discusiones muchas veces.Por lo general, comienzan con QUÉ marco Flex utilizas.No mucha gente se pregunta POR QUÉ es necesario utilizar cualquier marco además del marco Flex.

No estoy a favor de utilizar ningún marco MVC (Cairngorm, PureMVC) en código Flex.Mate es un mejor candidato.Al menos es sencillo de entender y no intrusivo.Prefiero usar componentes mejorados
a la carta.Hemos creado y abierto varios de ellos (consulte clear.swc en Clear Toolkit en http://sourceforge.net/projects/cleartoolkit/.

El primer capítulo de nuestro próximo libro de O'Reilly "Desarrollo empresarial con Flex" tiene una comparación detallada de varios marcos Flex: http://my.safaribooksonline.com/9780596801465 .

Actualmente estamos trabajando en un MVCS implementación en el script de acción de primavera estructura.Utiliza toda la potencia del contenedor de Inversión de Control para que tengas una gestión de dependencias centralizada y puedas intercambiar cosas fácilmente.No es muy prescriptivo en cuanto a cómo hacer las cosas, pero le proporciona una infraestructura muy flexible.

Si eres nuevo en Spring ActionScript y MVCS, tengo una publicación introductoria en mi blog: http://www.herrodius.com/blog/158

Estoy usando (y recomiendo) el marco Swiz.No es tan complejo ni PureMVC, pero hace el trabajo.Además, es un contenedor de IoC y me gusta el IoC.

Nunca usé Mate, así que no puedo comentar sobre eso.Pero lo recomiendo en contra de Cairngorm.Se dice que Cairngorm es de código abierto, pero en realidad no cuenta con el apoyo adecuado de la comunidad.Su ciclo de lanzamiento también es lento.He estado esperando SIEMPRE que la Biblioteca de navegación salga de la versión beta.

Tenga en cuenta que Cairngorm es EL marco patrocinado por Adobe y ahora está alojado en opensource.adobe.com.También tenga en cuenta que es, con diferencia, el más prolífico entre los desarrolladores en este momento.

Si conoces Cairngorm y estás buscando trabajo, no te equivocarás.

Cairngorm es fácil de usar y está bien documentado:http://www.cairngormdocs.org/

recomiendo el Explorador de diagramas de Cairngorm y el clásico artículo sobre Cairngorm.

Era nuevo en Flex cuando aprendí Cairngorm, pero lo encontré útil y fácil de aprender con lo anterior.

MATE es el camino a seguir. Un marco que hace lo que debería hacer un marco.Arquitectura desacoplada eficiencia de impresión de pies pequeños simples

Tengo algunas dudas sobre estos marcos MVC (Mate, Cairgnorm, etc...) con la forma en que implementan mapas de eventos y controladores de eventos, me recuerda demasiado a wxWidgets y otros kits de herramientas GUI de ese tipo.

Sin embargo, sería realmente bueno si Flex o uno de estos marcos MVC usara el paradigma Signal/Slots que ofrece Qt.

Recomiendo usar MATE para desarrollar proyectos grandes y complicados. Al igual que otros marcos, Mate aborda las preocupaciones arquitectónicas comunes en Flex, como el manejo de eventos, el enlace de datos y el procesamiento asincrónico, pero el objetivo más importante es que solo esté basado en etiquetas, por lo que es muy fácil de usar en nuestras aplicaciones Flex.

Sí, Mate es el mejor marco para flex.Lo he usado en una aplicación que tuvo varias revisiones tanto en términos de GUI como de servicio de datos de back-end.Solo necesitaba cambiar mi mapa de eventos cada vez que había algún cambio.

Mate también tiene la implementación MockService, lo que facilita las pruebas, no es una ventaja para un compañero, pero es bueno tener una.

Debe diseñar su propio "marco" MVC en función de sus propias necesidades.Si conoce un poco los patrones de diseño, Flex tiene mucho que ofrecer de forma nativa.

Lo mejor de diseñar su propio MVC es que puede ser liviano o complejo según lo necesite.

Mi experiencia con los frameworks es que básicamente tienes que escribir el doble de código que sin usar un framework.Lo bueno de los marcos es que te obligan a trabajar de manera consistente, pero si puedes trabajar de manera consistente haciendo uso de patrones de diseño, mejores prácticas y sentido común, te sugeriría que te mantengas alejado de los marcos.

Es muy difícil llegar a una conclusión sobre qué marco es mejor que otros.Dependiendo de la naturaleza y complejidad del proyecto y de la experiencia y preferencia de los miembros del equipo, uno puede ser más adecuado que otro en una situación determinada.

He compilado una lista de Flex Frameworks con breves descripciones y sugerencias para obtener más información sobre ellos en esta URL.http://practicalflex.blogspot.com/2011/08/list-of-adobe-flex-tools-frameworks.htmlla URL puede ser útil para cualquiera que busque evaluar un marco Flex para su proyecto.

Después de evaluar la mayoría de los marcos Flex, encontré que el marco Swiz es el más simple y fácil de usar para un nuevo desarrollador.Por lo tanto, garantiza un fácil mantenimiento y extensibilidad de su aplicación.

He trabajado en frameworks cairngorm y mate.Empecé con el marco Cairngorm.Es bueno trabajar pero es difícil de entender al principio.Maneja inteligentemente el envío de eventos.Puede enviar eventos desde las clases mismas y las clases de comando cableadas del marco se encargarán de ello.Hay un repositorio único para almacenar los datos, por lo que es fácil manejarlos.Es una clase singleton.Una vez que dominas el marco, el trabajo es más fácil.Mate, por otro lado, es un marco basado en etiquetas.Es un marco controlado por eventos, por lo que todos los eventos se manejan en el archivo de mapa de eventos.Realiza escucha de eventos, inyección de propiedades y muchas otras cosas de esta propia clase.Puede enviar eventos desde las clases pasándole la instancia del despachador de eventos del marco.No es necesario utilizar una clase singleton como cairngorm en esto.Puede vincular propiedades en una clase a vistas usando directamente la inyección de propiedades, por lo que no es necesario usar ninguna clase singleton.En mate, todas las clases y vistas están libres de código de marco, por lo que es un marco desacoplado.Es fácil mover componentes de un lugar a otro.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top