Flash ha estado presente en nuestros navegadores desde hace casi 15 años y aunque algunas empresas se esfuercen en ignorarlo, actualmente está instalado en el 99% de todas las computadoras del mundo conectadas a Internet. Sin lugar a dudas esta es una de las principales ventajas de Flex, la apuesta de Adobe dentro del desarrollo de RIA’s basada en Flash Player.
En el 2002 Macromedia liberó Flash Remoting, una serie de API’s que permitieron al reproductor de Flash hacer llamadas remotas a servicios de datos, conviertiéndo a Flash en no sólo una herramienta de animación utilizada para hacer intros que todo el mundo salta sino en una verdadera plataforma de desarrollo de aplicaciones web. Sin embargo, no fue suficiente, el entorno de programación era complicado, principalmente porque se basaba en frames y timelines, conceptos familiares para un diseñador pero no para un desarrollador; la solución de Adobe fue Flex, un entorno de programación de código abierto basado en XML y Actionscript que corre sobre el Flash Player y que le proporciona al desarrollador una colección de componentes listos para usarse, un IDE sencillo pero muy productivo con capacidades de arrastrar y soltar, y servicios de datos para conectarse con múltiples lenguajes de programación del lado del servidor.
Entre sus ventajas también podemos mencionar que la curva de aprendizaje de la plataforma no es muy pronunciada si el desarrollador ya conoce Javascript y XML, y que los resultados obtenidos son realmente buenos, el tiempo y esfuerzo necesario para crear una aplicación muy visual y con gran interactividad es muy bajo, además, es muy simple portar una aplicación web al escritorio usando el runtime de Adobe Air.
Y aunque no todo es miel sobre hojuelas las desventajas de Flex son pocas comparadas con las ventajas mencionadas, podríamos destacar entre algunas los tiempos de carga iniciales, la necesidad del plug-in, el costo del IDE de desarrollo, que, aunque no es requisito es prácticamente necesario para aprovechar al máximo la plataforma y el costo de algunos servicios de datos, entre otros.
Para situar a Flex dentro de la competencia quise recabar algunas estadísticas y aunque no estoy siguiendo aquí el método científico al menos dan una idea de la posición en el mercado que tienen las distintas plataformas.
La imagen obtenida con Google Trends muestra el número de búsquedas de un cierto término a lo largo del tiempo, dando así una idea de que tan popular es entre desarrolladores, usuarios finales y el público en general, en ella podemos ver que Flex ha ido perdiendo terreno ante Silverlight, sin embargo los dos productos de Adobe toman por mucho la delantera, en un tercer lugar vemos a JavaFX que sigue sin despuntar. Por otro lado la siguiente gráfica muestra la penetración de cada plataforma, midiendo el número de plugins instalados por versión en los navegadores de los usuarios.
Para concluir, en lo personal creo que Flex es una herramienta que aporta muchos beneficios al desarrollo de RIA’s y que es ideal para la creación de prototipos y aplicaciones que requieren de gran interactividad con el usuario sin embargo no lo considero tan útil en aplicaciones centradas en el contenido, por ejemplo, que muestran gran cantidad de texto. También cabe mencionar que no es necesario inclinarnos exclusivamente de un lado de la balanza, algunos proyectos usan lo mejor de varias tecnologías para presentar sitios interactivos pero no completamente basados en Flash, por ejemplo Google Finance.
Hace pocos días fue liberada la versión 4 del SDK de Flex y se nota la madurez de la plataforma, grandes compañias empiezan a prestarle atención y su uso dentro de proyectos empresariales aumenta, reafirmando su base de usuarios y por lo tanto su comunidad de desarrollo. En pocos meses veremos los resultados de esta competencia cuyo objetivo es dominar los navegadores y escritorios de los usuarios.
Siguiente post de la serie: JavaFX
Comentarios recientes