p

        

Flex-und-AIR

Adobe Flex se presenta como la solución de Adobe para atacar la problemática del desarrollo de la capa de presentación de aplicaciones corporativas basadas en internet.

Adobe Flex puede entenderse como una arquitectura compuesta por una serie de productos orientados al desarrollo de RIAs (Rich Internet Applications) que permiten lograr por medio del desarrollo orientado a objetos y/o declarativo los mismos resultados con el impacto visual característico de las aplicaciones desarrolladas a través de la programación en línea de tiempo propia de Flash.

Dado que el Flash es un producto orientado a diseñadores, Adobe presenta Flex como la solución recomendada para programadores que posibilita la construcción de la capa de presentación en aplicaciones de Internet basadas en arquitecturas MVC (Model View Controller).

Qué usos tiene Flex?

Las aplicaciones tradicionales basadas en HTML son consideradas ‘stateless‘ por basarse en una arquitectura en la cual el servidor espera requerimiento del browser y luego envía un resultado al mismo en formato HTML terminando en esa instancia la comunicación entre ambos puntos hasta que un nuevo envío de datos sea disparado. Esta situación limita en gran medida la usabilidad y atractibilidad de las interfaces que pueden ser desarrolladas en html puro.

Ante este escenario, Flex se presenta como una alternativa para la construcción de aplicaciones con interfaces ricas de características similares a las presentadas por aplicaciones ‘pesadas’ desarrolladas para sistemas Windows.

El entorno de trabajo de Flex permite construir a través de una serie de controles de presentación de datos, un componente binario conteniendo la totalidad de la capa de presentación de la aplicación. Este componente esta orientado a ser ejecutado en un navegador (Internet Explorer, Firefox, etc.). Sin embargo, a través de Adobe Air, es posible ejecutar estos binarios como aplicaciones independientes y desconectadas directamente sobre el sistema operativo.

Adobe Flex o Flash?

El Flash fue un producto concebido originalmente para brindar la posibilidad de agregar contenido multimedia interactivo a sitios Web. A través del tiempo, el producto fue creciendo en complejidad y funcionalidades llegando hasta las últimas versiones en las cuales se presenta al desarrollador la posibilidad de programar el comportamiento de su producto mediante un completo lenguaje de scripting (ActionScript) el cual permite la integración con diversas fuentes de datos externas a través de los estándares mas importantes de internet (XML, Webservices, etc.)

A pesar de brindar esta serie de facilidades, Flash ha sido durante muchos años un entorno hostil para los desarrolladores de software familiarizados al desarrollo en lenguajes orientados a objetos mediante técnicas de RAD (Rapid Aplication Development).

Adobe Flex se presenta como una novedad incorporando a la tecnología Flash la posibilidad de programar en forma declarativa u orientada a objetos permitiendo a través de una liberaría de controles de datos (grillas, listas, campos de texto, paneles, solapas, etc.) la construcción de aplicaciones de características similares a las desarrolladas en entornos de RAD (como Visual Basic).

Es importante tener en cuenta que un producto final compilado desarrollado en Flex es, al igual que cualquier otro desarrollo Flash, un SWF que debe ser ejecutado utilizando el Flash Player 9 o superior. Sin embargo es necesario considerar que, debido a los servicios que requiere, las aplicaciones desarrolladas en Flex pueden presentar una importante disminución en su rendimiento respecto a aplicaciones de similares características desarrolladas en Flash. 

Qué alternativas existen a Adobe Flex? Ajax, HTML5, DHTML y Silverlight.

Frente a la necesidad de brindar una experiencia de usuario rica en aplicaciones Web, Flex se presenta en varios escenarios enfrentando principalmente con Ajax. Ante esta comparación es importante tener en cuenta que Flex fue concebido para su uso en RIAs y no para RWAs (Rich Web Applications). Aunque no sea completamente claro el límite entre ambas definiciones, se considera RIA a las aplicaciones ‘desktop like’ (simil aplicaciones de escritorio Win32) que hacen uso de Internet para conectividad y despliegue. En este caso, se trata de una herramienta que permite la generación de un binario que se descarga al cliente y luego interactúa con el servidor a través de Internet sin requerir conexiones HTTP abiertas por el navegador.

En el caso de Ajax se trata de una tecnología tendiente a ampliar el espectro de posibilidades dentro de la propia arquitectura Web basada en páginas HTML.

En el caso del Microsoft Ajax Control Toolkit, el mismo está compuesto por un conjunto de controles muy completos para integrar en sitios Web, haciéndo transparente para el usuario la comunicación de la interfaz  (UI) con el servidor. Este campo de acción se amplía al brindar la posibilidad del desarrollo de componentes personalizados o bien integrando cualquier otra pieza de código desarrollado por terceros.

La gran diferencia entre las soluciones basadas en Ajax y Flex es la carga parcial del contenido web. En Ajax, el contenido no está embebido en un control Active X y no requiere cargar el mismo de forma completa previo su utilización.

A diferencia de otras tecnologías como Java y Coldfusion para las cuales Flex puede presentar una novedad importante en muchos aspectos, existen actualmente diversas librerías de controles gratuitos desarrollados específicamente para las enriquecer la experiencia del usuario en aplicaciones web basadas en tecnologías ASP.NET las cuales tienen un costo de incorporación y mantenimiento menor al incurrido en el caso de optar por tecnologías Flex.

Por su parte Microsoft Silverlight se presenta como la solución preferida en el caso de requerir incorporar un alto despliegue de recursos multimedia mediante controles que agregan valor específicamente en áreas referidas al trabajo con animaciones, videos, transiciones, etc.

Conclusiones

A pesar de que Flex se presenta como un producto que pretende cubrir un vacío en lo que respecta a mejorar el atractivo y la usabilidad de aplicaciones basadas en web, actualmente existen diversas alternativas a los tradicionales documentos y formularios basados en HTML puro y estático.

Por consiguiente se define que aplicaciones/sitios web donde la componente principal esta dada por la interacción con el usuario y el impacto visual, así también como juegos y presentaciones de productos deben continuar desarrollándose en Flash.

Por el contrario, sería recomendable optar por Flex en el caso de requerir el desarrollo de una aplicación corporativa basada en Internet mediante una solución de tipo RIA donde:

  1.  se ejecuta un binario por medio de un navegador sobre un entorno controlado
  2. surge a partir de los requerimientos funcionales la necesidad de presentar y manipular un gran volumen de datos mediante controles estándar de formularios

A partir de estas observaciones, y teniendo en cuenta que actualmente Adobe presenta en su sitio corporativo a Flash como un producto orientado a la Creatividad y Flex como una herramienta orientada a las Soluciones Corporativas , queda claramente delimitado el escenario que para el cual la empresa pretende impulsar cada una de sus tecnologías.

Referencias

http://www.flex.org
http://flex.sys-con.com/
http://ajax.sys-con.com/
http://www.cflex.net
http://www.adobe.com/devnet/flex/
http://www.adobe.com/devnet/flash/
http://silverlight.net
http://www.asp.net/ajax/ajaxcontroltoolkit/

 

One response to “Qué es Adobe Flex? Comparativa con Flash y otras tecnologías”

  1. Qué es Adobe Flex? Comparativa con Flash y otras tecnologías … « Blog de Flash

    [...] See the rest here:  Qué es Adobe Flex? Comparativa con Flash y otras tecnologías … [...]

Leave a Reply

You must be logged in to post a comment.