IntelliJ IDEA 9 M1: soporte Flex en Linux

ScreenshotAhora que parece claro que Adobe no seguirá desarrollando Flex Builder (actualmente Flash Builder) para Linux, hay que buscarse otras alternativas. IntelliJ IDEA 9 es una de ellas. Existe versión para Linux, pero eso sí, es software privativo y de pago. Dispone de soporte de autocompletamiento, coloreado de sintaxis y debug. Como aporte al Adobe Flex Builder 3, disponemos de una opción de formateo de código. También tiene soporte de Flex SDK 4 (Gumbo) y un interfaz gráfico para pruebas unitarias Flex Unit 4.  Al igual que a Adobe Flex Builder, le falta una vista de diseño (un editor visual de interfaces gráficos .mxml), es decir, hay que teclear el código, no hay drag&drop de componentes.

Hoy he estado probando la aplicación de prueba de FlexStore con el framework Cairngorm de la web de MadeInFlex. Y la he podido echar a andar … no sin antes haberme tirado de los pelos hasta encontrar que para poder usar Remoting, es necesario indicar como opción del compilador:

-services src/services-config.xml

¿Dónde? En las propiedades del proyecto, pestaña «Flex Compiler Settings».

Screenshot-Project Structure Otro detallito más: para poder insertar la dependencia Cairngorm.swc, es necesario pulsar en la misma opción que antes (menú contextual del proyecto, Module Settings, pestaña «Dependencies», Add, Single-entry module library… y especificar la ruta al fichero Cairngorm.swc).

Aún le queda camino para ser igual de rápido e intuitivo que Adobe Flex Builder, pero al menos, los usuarios de Linux ya tenemos un IDE alternativo actualizado. Y si eres desarrollador de un proyecto OpenSource, o bien trabajas en una institución educativa, puedes solicitar una licencia especial gratuita.

How to install Flash Builder on Linux

Lately, I’ve been wondering how to use Flash Builder on Linux. You know, Adobe is apparently putting Flash Builder (formerly also known as Flex Builder) for Linux on hold. So, if you are a Linux user, you’d better look for alternatives to FB (and certainly, there are a few...) However, I think that FB is the most feature-packed IDE for Flex development. So, how could we use that tool in our beloved system? Well, I managed to install it using Wine 1.1.23 on Ubuntu 9.04. This is the process that I’ve followed.

Download Flash Builder for Windows from Adobe Labs. Before the installation, you will have to configure Wine and install some needed DLL files. To do that, first and foremost, you’ll need to download the winetricks application and make it executable:

$ wget http://www.kegel.com/wine/winetricks
$ chmod a+x ./winetricks
$ ./winetricks

Now, you must select vcrun2005 and vcrun2005sp1 to install the needed dependencies : MS Visual C++ 2005 libraries and the related service pack.

Ok, time to install Flash Builder under wine:

$ wine flashbuilder4_b1_win_060109.exe

After finishing the installation, if you try to execute the application, you’ll get the following error:

«Licensing for this product has stopped working . This product has encountered a problem which requires that you restart your computer before it can be launched»

Restart the computer? on Linux? No way! 🙂 Now comes the tricky part, because you have to copy from a Windows installment some needed files:

a) On Windows, open the regedit tool and export the following branches:
HKEY_LOCAL_MACHINESOFTWAREAdobe –> adobe.reg
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesFLEXnet Licensing Service –> flexnet.reg

b) Back on Linux, import the previously saved registry branches

$ wine regedit
(now import adobe.reg and flexnet.reg files)

Now, mount the windows partition and copy this folders to the related wine folder:

$ cp -R /mnt/windows/Program Files/Common Files/Adobe ~/.wine/drive_c/Program Files/Common Files/

$ copy -R «/mnt/windows/Program Files/Common Files/Macrovision Shared» ~/.wine/drive_c/Program Files/Common Files/

Voilá! After entering the Serial Number or choosing the trial version, you’ll be able to work with Flash Builder on Linux 🙂 Enjoy!

Note: don’t forget to visit the WineHQ AppDB page about Flash Builder, for learning some hacks&tweaks that will allow you to address some annoying issues with code completion and the use of spaces as tabs.

Trucos para Flex Builder 3 en Linux (II)

Ni Eclipse ni Flex Builder (Eclipse+plugin Flex) son capaces de formatea código ActionScript de serie. La característica de «code beautifier» de otros lenguajes, como Java, se echan de verdad en falta. El Ctrl-Shift-f es una de las combinaciones de teclas que más se usan cuando la conoces. Por otro lado, el código ActionScript tiende a tener largas cadenas de texto a modo de instrucciones, que ocupan más de 2 y 3 líneas. Si a esto le añades la definición de estructuras de datos en las que los componentes se declaran de forma anidada al padre, un pequeño descuido o pereza a la hora de picar código hacen que éste sea bastante ilegible para todo aquel que no sea el programador original.

¿Existe alguna solución? Sí, Flex Formatter, un plugin opensource para Eclipse que permite formatear el código ActionScript como si de código Java se tratara (¡Ctrl-shift-f vuelve a funcionar!) Imprescindible para los desarrolladores Flex.

Revista Linux+ 6/2009 (55)

El tema central de este número es Cloud Computing. En el DVD adjunto encontraréis:

# CentOS 5.3: Community Enterprise Operating System, distribución basada en Red Hat Enterprise Linux
Versión 32 bit, bootable

# EyeOS: Cloud Computing Operating System. Versión 32 bit

# Bit Defender Antivirus Scanner for Unices. Una versátil solución antivirus bajo demanda diseñada para sistemas Linux y FreeBSD

También podréis leer los siguientes artículos:

* Cloud Computing: ¿Gran oportunidad para Linux?
* EyeOS : Cloud Computing Operating System
* Programación en Gambas : Creación de FrontEnds
* Seguridad de datos : ¿Cómo garantizar la privacidad de nuestra información?
* Máquinas virtuales: Nos adentramos al mundo virtual
* Aplicaciones de Internet Enriquecidas: Programando RIA con FLEX y AMFPHP

Trucos para Flex Builder 3 en Linux (I)

Últimamente paso muchas horas delante de Flex Builder 3, desarrollando junto con otros programadores una aplicación que espero dé mucho de lo que hablar (para bien 🙂 Algunos de mis compañeros desarrollan sobre Windows y ahí FB va fino. Pero en Linux, al ser una versión Alpha, tenemos algunos problemas. Poco a poco los vamos solucionando. Veamos hoy uno de ellos.

Al lanzar una aplicación .mxml, nos encontramos con el siguiente pop-up:

Y el error: «Flash Player not found / Flex Builder cannot locate the required version of Flash Player. You might need to install Flash Player 9 or reinstall Flex Builder. Do you want to try to run your application with the current version?» Si pulsamos en «Yes» todo funciona correctamente. Pero ese popup es un verdadero tostón. ¿Cómo evitarlo? Bien, tras muchas vueltas, la solución es sencilla (como todo, cuando lo conoces 😉 :

Basta con lanzar FlexBuilder usando el script Adobe_Flex_builder.sh que se genera en la carpeta de instalación de FB. Ese script inicializa la variable MOZ_PLUGIN_PATH que apunta al directorio de plugins de Firefox (donde deberías de tener tu plugin Flash bajo el nombre de fichero libflashplayer.so )

El problema añadido es que ese script no suele funcionar :-O Así que lo mejor en esos casos es ejecutar a mano lo que el script se supone que automatizaría:

$ export MOZ_PLUGIN_PATH=$HOME/.mozilla/plugins
$ eclipse -Xmx 512M

La primera línea define la variable de entorno MOZ_PLUGIN_PATH y la segunda incrementa el tamaño máximo del heap de la JVM a 512MB (útil para que FB no se atragante con errores de memoria insuficiente). Ya puedes decir adiós al dichoso popup.