Últimas novedades

La tecnología Flash en mejor estado de forma que nunca

Últimamente no pasa un día sin que veamos noticias positivas y hasta cierto punto impresionantes sobre…

14 may 2014 Carlos Rovira Comentarios (4)

Leer más

Apache Flex 4.12.1 liberada

Hace pocos días Apache Flex liberó una versión menor del SDK de Flex con algunas mejoras.…

05 may 2014 Carlos Rovira Sin comentarios

Leer más

Liberado Apache FlexJS™ y Apache Flex FalconJX™

El equipo de Apache Flex™, acaba de liberar la primera versión del nuevo framework Apache FlexJS™…

25 abr 2014 Jose Barragan Comentarios (1)

Leer más

BlackBerry dejará de dar soporte a Adobe AIR a nivel de SO

BlackBerry dejará de dar soporte para Adobe AIR en la versión 10 a nivel de SO. ¿Significa…

17 abr 2014 Carlos Rovira Sin comentarios

Leer más

Cairngorm I: Introducción

Cairngorm es un framework estructural para el desarrollo de RIAs que fomenta el uso de determinados patrones y potencia la escalabilidad y el crecimiento de las aplicaciones.
Para afrontar el desarrollo de cualquier tipo de aplicación medianamente grande y en el que vayan a co-desarrollar múltiples desarrolladores es imprescindible seguir unas pautas y estrategias comunes, conocer con exactitud el alcance e impacto de cada uno de los pasos que se den. Cairngorm, al ser un framework estructural y transversal a cualquier aplicativo, permite que desarrolladores centrados en distintos ámbitos de aplicaciones trabajen con una misma metodología y unas mismas bases que les permita tener una movilidad y un know-how entre distintos proyectos.

El hecho que se trate de un framework transversal tiene múltiples implicaciones:

  • Un desarrollador que conozca cairngorm puede incorporarse a cualquier proyecto basado en cairngorm minimizando la curva de aprendizaje inicial.
  • El know-how adquirido en otros proyectos basados en Cairngorm es aplicable de forma directa a cualquier otro proyecto.
  • En un equipo de desarrolladores, y aunque no hayan trabajado con anterioridad juntos, la metodología es conocida por todos. El lenguaje ya está dominizado y los conceptos son comunes a todos los integrantes. Con esto se consigue un mayor grado de afinidad y agiliza el planteamiento de los problemas (se habla ya en el dominio de Cairngorm, las distintas partes conocen el concepto de Command, Service, Delegate, etc).
  • Se fomenta la reutilización real de código de forma transversal a los proyectos sin hacer copiar y pegar (para hacer mínimos retoques de integración).
  • Para un desarrollador que empiece a trabajar en un proyecto basado en Cairngorm y que desconozca sus alcances, implicaciones y metodologías resulta mucho más fácil encontrar documentación y formarse. Al tratarse de un framework muy aceptado por la industria, empieza a existir una buena cantidad de documentación, información y ejemplos a su entorno. Esto tiene repercusiones directas en el equipo ya que no tiene que documentar su metodología y best practices, ya están documentadas.
  • La forma en la que se fomenta la distribución del código facilita el trabajo en equipo. Como iremos viendo Cairngorm induce a la creación de bastantes clases pero, normalmente, sencillas y cortas. Esto facilita la modularidad a la hora de distribuirse el trabajo y de hacer los merges en caso de usar un sistema de versionado de código.
  • Al tratarse de un framework soportado oficialmente por Adobe podemos intuir que tendrá una evolución según ésta fuera necesaria. En el caso de que se requiera de alguna funcionalidad no incluida de base, siempre la podremos implementar ya que disponemos del código fuente y de documentación al respeto.

Aunque Cairngorm es una implementación exclusiva para aplicaciones basadas en Flex (Flex2 y su precedente Flex1.5), éste está basado en el catálogo de patrones J2EE, lo cual aún potencia más el punto de la documentación ya existente.

En los puntos que siguen intentaré ir justificando el uso de cada uno de los patrones que se usan, ver los distintos enfoques y usos que se le pueden dar. Finalmente veremos como construir una aplicación basada en Cairngorm.

Debido a la extensidad del tema he escrito un total de 8 artículos que iremos publicando cada 2 días:

  1. Cairngorm I: Introducción.
  2. Cairngorm II: Value Objects.
  3. Cairngorm III: Commands.
  4. Cairngorm IV: FrontController.
  5. Cairngorm V: Eventos.
  6. Cairngorm VI: Services y ServiceLocator.
  7. Cairngorm VII: Business Delegate.
  8. Cairngorm VIII: Model Locutor.
  9. Cairngorm IX: Aplicación de ejemplo.

Para los impacientes aquí dejo una serie de links interesantes sobre Cairngorm y Patrones:

Y no podía faltar una lista de libros sobre patrones:

Realmente son todos muy buenos. Para los que estéis empezando con esto de los patrones os recomendaría el segundo y a partir de ahí leeros el resto (merecen la pena).

Xavi es un Technical Arquitect de Aplicaciones RIA basadas en la Plataforma Flash trabajando para Adobe en Londres. Especializado en aplicaciones colaborativas en tiempo real, e-learning y CMS (Content Management Systems) utiliza Flex, LCDS, BlazeDS, FMS y Java principalmente.

Sitio Web:http://www.code4net.com

9 Comentarios

  1. Israel Gaytan

    Hola a todos excelente artículo Xavi, me gustaria agregar un comentario personal.

    CAIRNGORM esta basado primeramente en el patrón de diseño MVC (Modelo Vista Controlador),dentro de el MVC, tiene a su vez patrones de diseño J2EE y alguno por ahi the GoF (Gang of Four) de hecho es el patrón Command.

    Les recomiendo tambien echen un vistazo a las siguientes bibliografias son excelentes!

    ——–
    Patrones de Diseño (Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides) Addison Wesley
    ——-
    Core J2EEâ„¢ Patterns: Best Practices and Design Strategies, Second Edition
    By Deepak Alur, John Crupi, Dan Malks

  2. Pingback: MadeInFlex » Blog Archive » Cairngorm VIII: Model Locator

  3. Pingback: Joan | Garnet Flex:Flash:PHP:MySQL:JS » Serie completa sobre Cairngorm en MadeInFlex

  4. Pingback: chblog » Flex: Cairngorm Framework

  5. Pingback: MadeInFlex » Blog Archive » Cairngorm: Secuenciado de Commands

  6. Pingback: Flex 2 + Cairngorm 2.2.1 - ImageExplorer at coconnut

  7. Pingback: Serie completa sobre Cairngorm en MadeInFlex : Joan Garnet :: Arquitectura y desarrollo RIA

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Ejemplos y Trucos Cortos

Como depurar Flex en un Nexus 5

Recientemente he adquirido un flamante Nexus 5 que he tenido de devolver (pero eso es una historia para otro post,…

25 mar 2014 Mario Ezquerro Sin comentarios

Leer más

Evitar que Safari mate la sesión debug de Flash Player…

Si quereis desarrollar con Safari en Max OSX, este tip os vendrá muy bien: Abrir "Terminal" Escribir "defaults write com.apple.Safari WebKitDisablePluginProcessMessageTimeout YES" Esto…

07 ago 2012 Carlos Rovira Sin comentarios

Leer más

#flex101 SWF más ligeros, bin-release

Con este post comenzamos una serie de recomendaciones, tips y tutoriales enfocados a cubrir aquellos temas básicos de la tecnología…

05 feb 2010 Edgar Parada Comentarios (4)

Leer más

TurboBinding metadata tag

Es bien sabido que el proceso de data binding es uno de los más usados en flex. Aporta facilidad y…

17 sep 2009 Sergi Dote Teixidor Comentarios (1)

Leer más

[PercentProxy] Metadata tag

La metadata, conocida en otros lenguajes como anotaciones, es una potente herramienta para comunicarse con Flex Builder que permite realizar…

14 sep 2009 Joan Garnet Comentarios (2)

Leer más

[ArrayElementType] Metadata tag

La metadata, conocida en otros lenguajes como anotaciones, es una potente herramienta para comunicarse con Flex Builder que permite realizar…

07 ago 2009 Joan Garnet Comentarios (3)

Leer más
  • 1
  • 2
  • 3
«
»

Acerca de Made In Flex

Made In Flex es una comunidad de desarrolladores de Apache Flex creada en 2006.

Apache Flex, anteriormente conocido como Adobe Flex, es un SDK (kit de desarrollo de software) para crear aplicaciones enriquecidas - multiplataforma basadas en Adobe Flash donado por Adobe a la fundación Apache in 2011 y promocionado a proyecto de primer nivel en Diciembre de 2012.

Actualmente estamos cambiando muchos aspectos del sitio web para ofrecer un sitio útil para toda la comunidad que tenga en cuenta las necesidades actuales.

Últimas Fotos

Instalador de Apache Flex

Entrar o Registrase