Arquitectura de Adobe Flex 2 (I)

Con este artículo abrimos una serie de entregas donde hablaremos de las interioridades del framework que Adobe Flex 2 nos ofrece en cliente. Este framework es el fruto de la evolución y cambios tecnológicos que ha ido sufriendo la Plataforma Flash a lo largo de los años. La arquitectura de componentes que disfrutamos hoy día es la última versión de un framework de componentes creado para Flash MX y que fué evolucionando en sucesivas versiones (Flash MX 2004, Flex 1.x), hasta ser reescritos completamente desde cero en Flex 2. En esta versión se han aprovechado al máximo las mejoras de un cambio tan agresivo como el sufrido en la máquina virtual del Flash Player, entre las versiones 8 y 9.


Arquitectura Base

La arquitectura del framework utiliza la orientación a objetos junto con una serie de patrones de diseño y buenas prácticas para ofrecernos un base realmente potente y extensible que añade, a la funcionalidad de base del player, una serie de servicios que facilitan enormemente la labor de un desarrollador de aplicaciones. El conocimiento a bajo nivel de este framework abre todo un nuevo mundo de posibilidades para el desarrollador Flex y es una de las grandes bazas a la hora de escoger Flex como nuestra tecnología de cliente debido a las infinitas posibilidades que nos aporta y que la hacen diferente de las alternativas actualmente disponibles.

Empezaremos viendo la clase UIComponent (mx.core.UIComponent). Esta clase es la pieza base sobre la que se asienta la arquitectura de componentes visuales de Flex 2. Los antiguos usuarios de los componentes de Flash (v2) echarán de menos UIObject, el cual ya no existe en Flex 2. Antes de entrar de lleno, conviene visualizar la jerarquía de clases que tenemos hasta obtener UIComponent.

Jerarquía de clases del Flash Player 9.

En el siguiente gráfico se muestra esta linea jerárquica en la columna de la izquierda. Las cajas rojas representan clases abstractas no instanciables. A la derecha podeis ver algunas clases significativas que extienden la clase de la izquierda (apuntada por una flecha):

Arquitectura Flex I

Es conveniente notar como se va añadiendo funcionalidad conforme avanzamos en la jerarquia (visibilidad, interactividad, composición de objetos visuales,etc…).

Por ejemplo Shape es una clase que permite utilizar el API de dibujo de Flash. Un InteractiveObject (como TextField o SimpleButton), añade interacción al objeto visual, como su propio nombre indica, mediante teclado o ratón. Un DisplayObjectContainer permite añadir o eliminar elementos al arbol de despliegue visual de los objetos (es en esta clase donde aparecen los famosos addChild(), addChildAt() y removeChild()). Un Sprite es el bloque básico de construcción visual en la nueva arquitectura de Flash, mientras que la antigua base de construcción hasta Flash 8, el MovieClip, es ahora una subclase de Sprite que añade la linea del tiempo. El motivo de este diseño es, básicamente, el hecho de que las aplicaciones no requieren el sobrepeso de esa funcionalidad de linea de tiempo que siempre arrastrabamos en versiones anteriores de Flash.

Esta separación de funcionalidades, ayuda a mejorar el manejo de memoria y el rendimiento ya que podemos utilizar solo los objetos con la funcionalidad necesaria. Es decir, si solo queremos crear un rectangulo, la clase Shape tiene todo lo necesario. Si por el contrario necesito que sea interactivo, sería necesario utilizar la subclase de InteractiveObject.

Al final de la herencia encontramos la clase crítica y base de todos lo controles y componentes visuales de Flex 2: UIComponent, la cual será nuestro punto de partida en el próximo artículo.

6 Comentarios

  1. Felipe

    Impresionante, Carlos, como siempre. Esto es justo lo que estaba echando en falta ahora q estoy encontrando tiempo para meterme de lleno en Flex.
    Un saludo, gracias y estaremos atentos a próximas entregas.

  2. Roy

    Saludos Carlos, adelante con tu trabajo.

    Me gustaría saber si recomiendas utilizar Cairngorm como Framework para trabajar con Flex?

  3. Carlos Rovira

    Gracias por los comentarios 😎 .

    Espero tener dentro de poco más entregas 🙂

    @Roy: Si que recomiendo Cairngorm para hacer aplicaciones Flex…yo lo uso actualmente. También tienes la opción de Guasax, del cual puedes encontrar mucha información en Made In Flex

  4. Pingback: MadeInFlex » Blog Archive » Arquitectura de Adobe Flex 2 (II)

Deja un comentario

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

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