Tag Archives: actionscript

El futuro de Adobe Flex en el proyecto Spoon

Las noticias por parte de Adobe no dejan de sorprender en los últimos días, tras el anuncio del que hable en mi post anterior no han pasado más de 24hs que una nueva noticia corría por la web con un mensaje bastante más cargado de sentido estratégico y que puede tener más repercusión al momento de observar el movimiento brusco de objetivos que ha tomado la compañía.

Una entrada en el blog oficial del equipo de Flex, escrito por la misma Deepa Subramaniam, hablaba acerca de la decisión por parte de Adobe de transferir el proyecto Flex Framework a una fundación open source, el Open Spoon Project.

Casualmente tuve la oportunidad de conocer en persona al equipo de Spoon durante su sesión en el Adobe MAX 2011, no fue casualidad que tanto a varios colegas como a mi, que estábamos presentes, nos llamó la atención la idea de este proyecto, que consiste en integrar a comunidades de desarrolladores para que puedan realizar sus aportes en conjunto con los equipos de desarrollo del propio framework. Así es como describen en su sitio la misión de este proyecto:

Spoon Project is the codename for a project started by the Adobe community to capture the collective experience of those individuals implementing solutions on the Flex framework and to apply that knowledge in a constructive manner through defect patching, feature contribution and addressing aspects of the framework that limit extensibility.

Lo que significa esta nueva apertura es la emancipación del proyecto Flex como un framework independiente, ya no bajo el paraguas absoluto de Adobe, sino gestionado por una comunidad dedicada continuar su progreso. El proyecto Spoon esta liderado por parte del equipo original de desarrolladores de Flex SDK (aquellos que no sean trasladados a proyectos avocados a herramientas para HTML de Adobe), así como desarrolladores destacados de la comunidad provenientes del ambito corporativo que brindarán sus aportes para seguir trabajando en la evolución del framework. No obstante Adobe asegura que continuará brindando apoyo de forma directa a la fundación, tal como lo hace actualmente con el proyecto PhoneGap a través de Nitobi luego de su adquisición, o el proyecto Zend. Por otro lado, el entorno de desarrollo Flash Builder continuará bajo el mando de Adobe, como una herramienta más de la Creative Suite.

El futuro

Sin dudas suena prometedor, ¿por qué? básicamente porque Flex desde su versión 2 fue open source, todos los códigos fuentes de sus componentes estaban expuestos y el desarrollador que necesita adaptar un componente para usos específicos, optimizarlos, extenderlos, o incluso crear nuevos elementos de interfaz de usuario, lo puede hacer desde hace muchos años. Este cambio en el modelo de administración permite a los desarrolladores involucrarse internamente en el proyecto, pudiendo aportar los conocimientos basados en la experiencia de uso real del framework, ayudando al mismo equipo a brindar correcciones y mejoras en menor tiempo de iteración. Aun así, el futuro decidirá si los aportes comunitarios son suficientes para mantener la evolución de un framework que todavía tiene mucho por mejorar para ser la elección principal en torno al desarrollo de aplicaciones mobile multiplataforma.

El hecho de ser una comunidad independiente abre las puertas a otras empresas dedicadas a aplicaciones corporativas, u orientadas a datos, a involucrarse a través de sus equipos de desarrollo y fortalecer el crecimiento del framework aportando nuevos cambios. Existen numerosas empresas que han creado un ecosistema de negocios basado en Flex, como lo ha hecho desde hace tiempo IBM con sus componentes ILog Elixir. No estoy diciendo que vayan a volcar todo dentro del framework, pero sin dudas podrían aprovechar esta apertura para aplicar ese potencial en mejoras y optimizaciones como parte de su apoyo.

Repercusiones

Estas noticias no han demorado en hacer vibrar el piso a las comunidades, desde el anuncio anterior que afectaba a Flash este no hace más que confirmar que el futuro de Adobe esta siendo apuntado con toda la fuerza a HTML, pero ahí es donde (a nivel personal) surgen algunas incógnitas difíciles de resolver en el ambito de aplicaciones corporativas:

  • ¿Deben las corporaciones pensar en migrar sus aplicaciones de datos actualmente en desarrolladas con Flex a una versión HTML/JS?
  • ¿Qué herramientas existen actualmente para amortizar el impacto de un movimiento así?
  • ¿Las provee Adobe?
  • ¿Se encuentra HTML/JS en el punto de maduración necesaria para que una corporación le confíe una aplicación de datos sofisticada?

No soy el único que se hace este planteamiento, si prestaron atención a los comentarios que han plasmado en el post del anuncio oficial verán a muchos desarrolladores y lideres de aplicaciones corporativas planteando puntos similares.

Personalmente creo que este movimiento es meramente comercial, desde el momento en que Flex pasó a ser open source no creo que haya representado ingresos económicos directos para la compañía, sino más bien era un integrador de tecnologías como LiveCycle, ColdFusion, o incluso Flash Media Server, donde sí puede representar ventas netas.

Flex fue concebido inicialmente para el ámbito corporativo y aplicaciones orientadas a datos, realmente cumple muy bien con su objetivo cuando se trata de la web o el escritorio, mientras que en móviles aun tiene algunas tuercas que ajustar pero he comprobado personalmente que puede ser muy eficiente para aplicaciones utilitarias y de productividad. Flex 4 marcó un gran cambio evolutivo para el framework, mientras escribía mi libro debo reconocer que me sorprendí al descubrir ciertos aspectos que antes no conocía, aunque aún así todavía tiene muchas cosas por mejorar, el rendimiento en dispositivos móviles todavía no alcanza el óptimo para aplicaciones de gran escala, pero es notable como ha mejorado versión tras versión, desde la primera 4.5 hasta la 4.6 que estará disponible públicamente el próximo 29 de Noviembre.

Alternativas

Entre las diferentes alternativas que he leído como propuestas a un posible reemplazo de Flex me ha llamado la atención la de crear un exportador de Flex a HTML, algo que puede resultar interesante si tenemos en cuenta que Flex no es más que un framework que abstrae la creación de interfaces de usuario partiendo de un lenguaje de marcado (el MXML) basándose en componentes predefinidos o personalizados. Por otro lado, no tardaron en salir a la luz proyectos como Jangaroo, que permiten de alguna forma extraña compilar ActionScript 3 a JavaScript para la creación de contenidos que corran en el navegador web. En mi opinión este tipo de cross-compiling llevado al extremo ya no es de mi interés, puesto que son cosas forzadas, siempre representará más trabajo adaptar algo que no fue concebido para esa función que aprender un nuevo lenguaje. ActionScript es el lenguaje de Flash Player, si vamos a trabajar con HTML su lenguaje es JavaScript, y realmente para los que conocen a ActionScript, dar el salto a JS es muy sencillo ya que son muy similares en su sintaxis.

Conclusión

Creo que esta noticia nos ha tomado por sorpresa sobre sorpresa, no solo por el tipo de noticia sino también por la forma en que Adobe ha manejado su difusión, la información con poca claridad provoca confusión en el público que esta estrechamente relacionado con sus tecnologías, a tal punto que hemos tenido una reunión con varios colegas de las comunidades Adobe hispanas para poder debatir las ideas en torno al impacto a futuro que estas noticias pueden representar para Flex y la Plataforma Flash. Debemos tener en claro que este nuevo modelo puede tener dos caminos posibles: Que la integración de factores externos y el aporte de la comunidad provoquen un salto cualitativo y marquen una evolución sostenida basada en el conocimiento de quienes realmente están involucrados con el entorno; o que la falta de aporte e interés de los desarrolladores lo lleven a la decisión de dar conclusión al ambicioso proyecto de un framework más para ActionScript.

Este anuncio no determina la muerte de Flex Framework, pero de aquí en adelante el aporte de las comunidades y las decisiones de los líderes del proyecto Spoon serán quienes determinen el futuro exitoso o fracasado de uno de los pilares de la Plataforma Flash. El tiempo lo dirá.

 

 

 

Flash: Objeto inverso al mouse

Muy bien, hace tiempo que no escribo nada y es por los vaivenes que me tuvo la vida en este ultimo mes. Pero como ayer mas o menos retomé mi ritmo habitual aprobecho para tirar un TIP de Flash el cual me tuvo varias horas renegando.

Se trata de hacer que un objeto (lease MovieClip) se desplace, segun la ubicación del mouse en el escenario, de un lateral a otro manteniendo siempre sus límites. ¿Cómo se hace esto?, muy sencillo, solo hay que aplicarle al objeto que queremos “obligar a moverse” el fragmento de código que transcribo abajo:

onClipEvent(enterFrame) {
this._x = Stage.width-(_parent._xmouse*(this._width/Stage.width))-(Stage.width/2);
}

Explicación:

La primera línea indica que esa acción va a ser llevada a cabo cada ves que se ingrese en el fotograma donde esta ese objeto.

La segunda linea es la que importa, y es la que le dice al objeto que su ubicación horizontal va a ser igual al ancho del escenario menos el resultado de la multiplicación de la ubicación horizontal del mouse y la división del ancho del objeto por el ancho del escenario. Y para que el objeto sea mostrado por completo y no solo quede pegado al borde le restamos la mitad del ancho del escenario a todo esto.

Funcionando:

Para el que no crea que esto funciona, esto lo aplique y me rompió la cabeza para que el resultado este ahora en el último sitio que desarrolle y lo pueden ver en: http://www.personalcosmetic.com.ar en la sección “Galería de imágenes”.

De todas maneras ya con el código solo les queda aplicarlo a un MC y bualá!… más adelante enviaré más.