Flex y Adobe Air

Para mí, Flex es la solución ideal para que un programador (sobre todo de Java) pueda hacer un Flash sin tener que pelearse con la propia herramienta de Flash. ¿Quién no ha querido alguna vez hacer un flash para una página con alguna animación o con un formulario o con lo que sea, y le ha dado una pereza máxima ponerse a aprender como utilizar Adobe Flash CS4? Para empezar es de pago, y no es barata, y para acabar es un sistema de desarrollo al que los programadores normales no estamos acostumbrados: se trabaja con un timeline, con escenas, con capas, gráficos y sprites, pinceles, efectos: herramientas que los diseñadores usan día a día, pero que nosotros, programadores que trabajamos con un IDE, no solemos utilizar. De todas formas, Adobe Flash CS4 también permite programar usando ActionScript por supuesto, pero siempre tendrás que usar la herramienta Adobe Flash para programar este código y generar el swf de flash final.

Sin embargo, con Flex, trabajas con Flex Builder (un plugin para Eclipse, de pago), o con IntelliJ o Netbeans o con el bloc de notas. Tienes una estructura de clases y paquetes como en Java, y tienes tus ventanas y vistas como ficheros .mxml, que bien pueden recordarte a un JSP. Así que el entorno, para nosotros los programadores, es mucho más amigable desde el principio. Además, puedes generar tu fichero swf de flash y compilar tus clases y mxml desde la línea de comandos o con Ant, gracias a su SDK libre, así que incluso el uso de IDE es opcional (aunque altamente recomendado).

Para rematar, con Flex puedes, además, crear aplicaciones ricas de escritorio con Adobe Air. Estas aplicaciones son multiplataforma (corren en Linux, Mac y Windows) y su interfaz visual es muy muy buena. Un ejemplo de las posibilidades que tiene Flex (y por lo tanto Air) lo puedes ver en el Tour de Flex. Y un gran ejemplo sobre aplicación desarrollada con Adobe Air que es ampliamente utilizada es Tweetdeck, entre muchas otras.

Personalmente, estoy muy contento con los resultados de Adobe Air. Por un lado, ActionScript 3 (el lenguaje utilizado en Flash, Flex y Air) es muy sencillo de utilizar y muy rápido de aprender para un programador Java (recuerda mucho a Java y Javascript). Es orientado a objetos (herencia) y eventos de manera nativa, mezcla tipado fuerte con tipado débil, tiene reflection, puedes guardar un método en una variable y ejecutarlo cuando quieras (como en Javascript), puedes acceder a cualquier atributo de un objeto como si fuera un array o mapa (¡acceso dinámico estilo Groovy!) y muchas cosillas más que lo hacen muy interesante. Y por otro, toda la jerarquía de componentes visuales es muy completa y está muy bien pensada. Parece como si los creadores de Flex hubieran cogido todos los componentes de DOM de HTML, su api de acceso de Javascript y Swing, le hubieran mezclado todo, quitado lo malo y dejado solo lo bueno.

Mi conclusión es que Flex es una plataforma de desarrollo muy rápida con resultados muy efectivos, que nos permite crear Flash o aplicaciones de escritorio de la misma manera (y multiplataforma), con un lenguaje, Action Script, que posee una curva de aprendizaje muy suave para programadores Java (y para cualquier programador, me atrevería a decir) y sin cambiar nuestro IDE. Y además, posee una gran documentación y tutoriales ¿Qué más se puede pedir?

Categorías