One of the new technologies that I have been learning in the new job is Adobe Flex. It is a Flash-based development kit for creating Rich Internet Applications (RIA). In addition, thanks to its support for AIR, it can also be used for desktop application development.
It uses MXML, an XML-based markup language, to define graphical user interfaces. It is combined with ActionScript, a scripting language based on the ECMAScript (ActionScript, JScript) standard, for interactivity.
The Flex SDK, starting with Flex 3, was released under the free software Mozilla Public License. Thanks to this, it can be developed “freely” for the platform. The Flash player, the Flex runtime, and Adobe Flex Builder (the development IDE built on top of Eclipse) remain proprietary software.
As GNU / Linux users at work, we have a particular perspective to develop with this platform. Adobe has always been known for keeping its products for Windows systems. But the release of the SDK code, and his joining the Linux Foundation, demonstrated a change in his ideal, or so it seemed …
The SDK necessary to develop Flex applications in GNU / Linux is free, so there is no problem in getting it. Now, let’s analyze the tools available to develop Flex applications on our system.
Adobe offers us Adobe Flex Builder 3, an IDE based on Eclipse Europe 3.3, proprietary software and with a commercial license. It works on Windows, and an alpha version of Flex Builder is provided for GNU / Linux.
Flex Builder Linux installation
The Flex Builder Linux version is only available as a plugin for Eclipse 3.3. In addition to being in the alpha 5 version since November 2009, it does not have the following features of Flex Builder for Windows: Design view (design view, to create the graphical interfaces), States view, Refactoring, Data Wizards, Cold Fusion – Data Services Wizard, Web Services introspection and Profiler.
Despite the limitations of this version, it can be considered an IDE suitable for real development. The only serious limitation is the design view, since without it, you have to write the MXML by hand. Also, it works exclusively with Eclipse Europa, it has several errors if a newer version of Eclipse is used, although I have read out there that with patches they have managed to make it work well.
Another option I tried was to download the Flex Builder trial for Windows, and run it with Wine. This ended up being quite an interesting solution, as I used all the basic features of the IDE without major inconvenience. There is a problem with memory usage from time to time, but it can be fixed by giving more memory in the FlexBuilder.ini file. The visual editor worked fine, as well as the installation of the necessary plugins to do the job: Subclipse and Mylyn.
Flex Builder 3 on Wine
You can see the review that I sent to the WineHQ database about the application (what I tried, what worked, what didn’t).
IntelliJ IDEA version 9, a popular Java IDE, also includes support for Flex and AIR. While it does not have a visual MXML editor, it does have autocompletion, syntax highlighting, etc. In any case, the prices of the licenses are exorbitant …
For now, with these tools you can develop well, let alone those who do not use an IDE. Any text editor and the command line allow to develop this type of application, and the productivity achieved depends on each one, not on the tools. Let’s say that it is possible to develop Adobe Flex in GNU / Linux, but as always, not with the same facilities as in Windows. This does not represent too much of a complication for advanced GNU / Linux users (it is customary), but it does interfere with the massive adoption of technologies (either from the GNU / Linux world to Adobe Flex or vice versa).
Adobe should pay more attention to the GNU / Linux platform, as more and more developers and companies take advantage of it. The lack of tools to develop in Flex could be taken advantage of by JavaFX technology, Flex’s direct competition, which is already available for GNU / Linux systems.
If you want to help with anything, you can vote for the bug in Adobe’s bug reporting service, which asks for a decent Flex Builder for GNU / Linux: