Desarrollar Adobe Flex en GNU/Linux

Publicado el Viernes, 15 de enero de 2010
Flex

Flex

Una de las nuevas tecnologías que vengo aprendiendo en el nuevo trabajo es Adobe Flex. Se trata de un kit de desarrollo basado en Flash, para crear aplicaciones de Internet enriquecidas (RIA). Además, gracias a su soporte a AIR, también se puede usar para el desarrollo de aplicaciones de escritorio.

Utiliza MXML, un lenguaje de marcado basado en XML, para definir interfaces gráficas de usuarios . Se combina con ActionScript, lenguaje de scripting basado en el estándard ECMAScript (ActionScript, JScript), para obtener interactividad.

El SDK de Flex, a partir de Flex 3, fue liberado bajo la licencia de software libre Mozilla Public License. Gracias a esto, se puede desarrollar de forma "libre" para la plataforma. El reproductor Flash, el runtime de Flex, y Adobe Flex Builder (el IDE de desarrollo construído sobre Eclipse) permanecen en su calidad de software privativo.

Como usuarios de GNU/Linux en el trabajo, tenemos una perspectiva particular para desarrollar con esta plataforma. Adobe siempre se caracterizó por mantener su productos para sistemas Windows. Pero la liberación del código del SDK, y su ingreso a la Linux Foundation, demostraban un cambio en su ideal, o al menos eso parecía...

El SDK necesario para desarrollar aplicaciones Flex en GNU/Linux es libre, por lo que no hay problemas en conseguirlo. Ahora bien, analicemos las herramientas disponibles para desarrollar aplicaciones Flex en nuestro sistema.

Adobe nos ofrece Adobe Flex Builder 3, un IDE basado en Eclipse Europa 3.3, software privativo y con una licencia comercial. Este funciona en Windows, y se provee una versión alfa de Flex Builder para GNU/Linux.

Instalación Flex Builder Linux

Instalación Flex Builder Linux

La versión Flex Builder Linux está disponible únicamente como plugin para Eclipse 3.3. Además de encontrarse en la versión alpha 5 desde noviembre de 2009, no cuenta con las siguientes características de Flex Builder para Windows: Design view (vista de diseño, para crear las interfaces gráficas), States view, Refactoring, Data Wizards, Cold Fusion - Data Services Wizard,Web Services introspection y Profiler.

A pesar de las limitaciones de esta versión, se puede considerar un IDE apto para desarrollos reales. La única limitante seria, es la vista de diseño, ya que sin ella, hay que escribir los MXML a mano. Además, funciona exclusivamente con Eclipse Europa, tiene varios errores si se usa una versión más nueva de Eclipse, aunque he leído por ahí que con parches han logrado hacerla funcionar bien.

Otra de las opciones que probé fue descargar el trial de Flex Builder para Windows, y ejecutarlo con Wine. Esto terminó siendo una solución bastante interesante, ya que usé todas las características básicas del IDE sin inconvenientes mayores. Hay un problema con el uso de memoria cada tanto, pero se puede arreglar dándole más memoria en el archivo FlexBuilder.ini. El editor visual anduvo bien, así como la instalación de los plugins necesarios para realizar el trabajo : Subclipse y Mylyn.

Flex Builder 3 sobre Wine

Flex Builder 3 sobre Wine

Pueden ver el review que mandé a la base de datos de WineHQ sobre la aplicación (qué probé, qué funcionó, qué no).

IntelliJ IDEA version 9, un IDE de Java bastante popular, también trae soporte para Flex y AIR. Si bien no cuenta con un editor visual de MXML, sí tiene autocompletado, destacado de sintaxis, etc. De todas formas, los precios de las licencias son desorbitantes...

Por ahora, con estas herramientas se puede desarrollar bien, ni que hablar aquellos que no usan un IDE. Cualquier editor de texto y la línea de comandos permiten desarrollar este tipo de aplicaciones, y la productividad alcanzada depende de cada uno, no de las herramientas. Digamos que es posible desarrollar Adobe Flex en GNU/Linux, pero como siempre, no con las mismas facilidades que en Windows. Esto no representa demasiada complicación para los usuarios avanzados de GNU/Linux (ya es costumbre), pero sí interfiere en la adopción masiva de las tecnologías (Ya sea desde el mundo GNU/Linux a Adobe Flex como la inversa).

Adobe debería darle más atención a la plataforma GNU/Linux, ya que son cada vez más los desarrolladores y empresas que la aprovechan. La carencia de herramientas para desarrollar en Flex podría verse aprovechada por la tecnología JavaFX, competencia directa de Flex, que ya está disponible para sistemas GNU/Linux.

Si quieren ayudar en algo, puede votar por el bug en el servicio de reporte de errores de Adobe, que pide un Flex Builder decente para GNU/Linux:
http://bugs.adobe.com/jira/browse/FB-19053

17 comentarios en este post

Feed de comentarios
  1. Avatar

    Bernab'e Garc'ia 16 enero. 2010 - 21:08

    No me termina de quedar claro el tema de la libertad de “estos lenguajes”. En primer lugar por muy usado que sea, flash es claramente un lenguaje privativo. Tanto que existe un s’olo player con toda la usabilidad, y todas las alternativas libres lo siguen a buena distancia. Esto no es debido a carencias de desarrollo, sino a falta de estandares libres y abiertos. Respecto a ActionScript, el estar basado en un estandar ECMA no me dice nada. Es realmente libre y documentado ActionScript?

    Personalmente creo que flash da~na severamente la web, causando que estemos cada vez m’as lejos de una web estandar.

  2. Avatar

    fernando 17 enero. 2010 - 12:37

    Que liberen el SDK y basen el lenguaje en un estándar es engañoso, porque no creo que Flash deje de ser privativo.

    En nuestro trabajo en particular estamos usando AIR, por lo que no trabajamos en entorno web específicamente. De todas formas, esto responde a una demanda empresarial que no podía ser cubierta con tecnologías libres. Lástima que no estuve cuando se tomó esta decisión… 😛

    Personalmente me gusta más para dónde está apuntando Java, particularmente en esta área con JavaFX. Pero ya habrá tiempo para probar eso…

  3. Avatar

    fernando6867 7 abril. 2010 - 19:04

    bueno, mi problema es que estoy usando flex sobre windows 7 y no me va nada windows (problemas de licencia y cada tanto se reinicia solo, una porquería). lo hice andar en debian con eclipse europa (en debian todo un trabajo), no tiene la vista de diseño cosa que hace que no me sirva.
    Intente instalarlo con wine, pero da error al ejecutarlo. le cambie los rangos de memoria en el ini y nada. Genera un punto log diciendo que le faltaban dlls (ole32.dll y kernel32.dll).

    No se si me podes darme alguna mano con el tema de hacerlo andar Wine, no me quiero rendir, aunque por ahora me tengo que tragar el sapo de windows.

    fernando

    • Avatar

      fernando 7 abril. 2010 - 20:31

      ¿Qué versión de Wine estás usando? Yo probé con la versión 1.1.36. Capaz que viene por ahí el problema.

      No he vuelto a usar Flex Builder bajo Wine, vengo sufriéndolo como plugin para Eclipse Europa desde entonces, pero no uso la vista de diseño.

      • Avatar

        fernando6867 9 abril. 2010 - 01:11

        la version de wine-1.0.1, en debian squeeze.

        mira este es el error que me tira al ejecutar flex en wine:

        JVM terminated. Exit code=1
        C:\Archivos de programa\Adobe\Flex Builder 3\jre\bin\javaw.exe
        -Xms512m
        -Xmx1024m
        -XX:MaxPermSize=256m
        -XX:PermSize=128m
        -Djava.net.preferIPv4Stack=true
        -jar C:\Archivos de programa\Adobe\Flex Builder 3\startup.jar
        -os win32
        -ws win32
        -arch x86
        -launcher C:\Archivos de programa\Adobe\Flex Builder 3\FlexBuilder.exe
        -name FlexBuilder
        -showsplash 600
        -exitdata 8_40
        -vm C:\Archivos de programa\Adobe\Flex Builder 3\jre\bin\javaw.exe
        -vmargs
        -Xms512m
        -Xmx1024m
        -XX:MaxPermSize=256m
        -XX:PermSize=128m
        -Djava.net.preferIPv4Stack=true
        -jar C:\Archivos de programa\Adobe\Flex Builder 3\startup.jar

        lo loco es que el eclipse(para linux) instalado en debian con el plugins de flex me tira algo parecido, lo hice andar una vez instalando una librerias (algo de run*). y luego reinstale de vuelta el plugins y la unica manera de levantarlo fue con “java -jar /home…/eclipse-flex/./startup.jar”.

        el eclipse fue europa.

        disculpame la demora de la respuesta.

        fernando

      • Avatar

        fernando6867 9 abril. 2010 - 08:20

        me olvidaba, en debian tengo instalado jdk:
        java version “1.6.0_17”
        Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
        Java HotSpot(TM) Server VM (build 14.3-b01, mixed mode)

        fernando

  4. Avatar

    cibernakaq 3 julio. 2010 - 20:56

    Hola, ummm, me parece que no has incluido algunas importantes alternativas. Por ejemplo, Aptana Studio, Ide basada en Eclipse o plugin para este, que tiene soporte para AIR. También, “axdt”,buscar en google, un conjunto de plugins para eclipse, que permite programar en actionscript3, incluido xmml (añadiendo una “perspectiva” a Eclipse”). Pero, el que, según mi opinión, se lleva el mérito es “FlashDevelop”, que permite todo lo anterior y además es muy estable. Claro, ninguna de las alternativas anteriores incluye “Design View”, en realidad “asdt” sí, pero no funciona bien, y sin embargo hay varias maneras de subsanar esto, si secuenta con una PC veloz.

    Bye.

    • Avatar

      Fernando 4 julio. 2010 - 20:38

      ¡Muchas gracias por tus aportes! No había probado el plugin de Aptana para AIR, lo voy a probar.

      FlashDevelop quedó descartado del momento que no incluyen una versión para GNU/Linux. Me pareció una tomada de pelo lo que dicen en su página web:

      Compatible con Mac OSX/Linux usando software de virtualización

      Eso no tiene absolutamente nada de compatible, hay que pagar la licencia de otro sistema operativo para correrlo virtualizado…

      Y AXDT tuve algunos problemas para instalarlo, por lo que no pude probarlo tampoco, pero le daré otra oportunidad.

      Saludos y gracias por tu aporte.

  5. Avatar

    Eiler 27 febrero. 2011 - 15:03

    Que bueno, aqui creo que esta lo que necesito….
    Desde donde me puedo descargar el FlEX con todo y los pasos para instalarlo en Debian con todos los detalles, qiero crear proyectos al igual que como los creo en Flash, y necesito una alternativa que no sea WINE…..

    Alguien me puede dar una mano 🙂

  6. Avatar

    Eiler 27 febrero. 2011 - 15:20

    Alguien podria recomendarme tambien de donde bajar AIR para Debian y como instalarlo y me sirve para remplasar el Flash en Linux…. porfa 🙂

    • Avatar

      Fernando 27 febrero. 2011 - 21:41

      Eiler,
      Actualmente Adobe ha abandonado el desarrollo del IDE para Flex en GNU/Linux. Por esto, personalmente no recomiendo desarrollar con Flex en GNU/Linux, podrías probar alguna alternativa como Java FX.

      De todas formas si quieres instalar Flex y AIR en una computadora con Debian debe haber más de una guía si lo buscas. Flex no reemplaza a Flash, es una plataforma de desarrollo sobre Flash.

      Saludos

      • Avatar

        Armando 8 mayo. 2011 - 20:28

        Hola a todos

        Navegando me encontré este artículo. Aquellos interesados en desarrollar en Flex bajo GNU/Linux, les recomiendo que prueben IntelliJ IDEA 10, es excelente. Al igual que Flash Builder, es necesario licencia pero funciona perfecto en Windows, Mac y linux.

        No tiene Design View, pero honestamente no hace falta con el autocompletado precioso que tiene este IDE. Lo he usado en Windows y Linux y es increíble. Pruébenlo.

        Saludos,

  1. Desarrollar Adobe Flex en GNU/Linux | Webmaster | 18 enero. 2010 - 15:03

    […] “Desarrollar Adobe Flex en GNU/Linux” […]

  2. Splash screen de Eclipse | Picando Código | 21 enero. 2010 - 12:29

    […] desarrollar con Flex, una versión de Eclipse Europa con Flex Builder: Eclipse Splash Flex […]

  3. Eclipse: SIGSEV error fatal en Java con libxul.so | Picando Código | 28 enero. 2010 - 23:36

    […] comentaba sobre Flex Builder para GNU/Linux, hay que usar una instancia de Eclipse Europa para instalar Flex Builder encima. Venía usándolo […]

Dejar un comentario

Toasty!