Flex 3:First Look

I have had a chance to download Moxie – or Adobe Flex 3 and see where that puts Adobe in the RIA and GUI Integration sweepstakes. Remember GUI Integration takes users well beyond the goal of allowing Rich media like audio, video, 3D and animations to be a part of their presentations. GUI Integration says not only Rich but also Wide – the GUI will perform the same on a PC desktop, Web page, mobile or handheld and kiosk or embedded screen – minimal recoding required. Finally GUI Integration supports both online and offline operations and integrates the two. Given the wide difference in CPU power, screen size and available bandwidth, GUI Integration presents a daunting challenge.

Yet more vendors such as Adobe, Google, Microsoft, Sun, Zimbra and others are enabling big chunks of RIA GUI Integration. Here is our first take on Flex 3 from Adobe. But before continuing a quick word on Google Gears and Adobes promise to not just support but adapt Google Gears into Flex/Apollo/AIR RIA. As you shall see below, one of the weaknesses of Flex is its hands-off approach to data sources. What Gears does is change that dynamic by putting a relational database, SQLite, into the equation on what Flex is willing to talk to directly. From that connection it is not hard to see either Adobe or 3rd parties extending the reach to other databases and maybe even asynchronous/messaging data sources. In sum, Google Gears may nudge Adobe into a better situation for supporting diverse data sources.

First Take on Flex 3

First and foremost Flex 3 is easy to install and get started with. Users have two choices : 1)download a complete Flex 3 development environ which bundles the SDK and the Eclipse development environ including JRE all together or 2)download the set of Eclipse plugins and add those to their Eclipse. I did both and ended up liking the first option the most primarily because Europa(Eclipse 3.3 version is coming) and I already have a rash of plugins in use – so even with Eclipses Perspective capabilities I chose to have a duplicate Flex3/Eclipse developer.. and I still have 50GB of disk space left over.

Next of note is the fact that Adobe have really improved the getting started exercise and Help. True we are mostly using Flex 2 documentation, but even with that there is on board a lot of help and illustrated docs to get well started. And the Flex/Eclipse interface is easy to use. Dreamweaver users familiar with the Source/Design mde will find Flex very easy to work with. My one complaint is in the Properties. This has been the bane of so many IDEs like Visual Studio, Eclipse, Borland/CodeGear JBuilder and others because there are so many properties available to the coder they become overwhelmed. NetBeans does the best job of providing hints and pulldowns for most properties. Flex is only 40% there.

So I fumbled a lot in getting my components linked up with my data sources. That is the other area of concern about Flex. Adobe is straight forward in their Help file – they tell users not to expect database bindings within Flex but to go to XML data sources or Web Services. Also Flex is now integrating 2 additional data services:
1)Flex Data Services which is a part of FlexBuilder 2.0;
2)Adobes LiveCycle Data Services – part of the Life Cycle PDF-based forms system
Let me just say that understanding the data sources connectivity being offered in Flex 3 is the next and probably most important task in my upcoming review of Flex.

Well no that is not entirely true. The other two theoretical thorns I see Flex presenting is understanding how the layout system and containers work in the GUI interface and coming to terms with ActionScript 3. The latter is definitely not a simple extension of ActionScript 2 or classic JavaScript – its is a whole class-based, typed language changeover. In fact, one of the chief complaints about Google software is that it is forever beta – never really done-baked-finished. Well if that is true of Google, come take a look at what Flash/Flex developers have had to endure: Flash Player 4 thru 9 in 5 years, ActionScript 0 to 3 in 7 years with major changes at every stage; Flash IDE that is really not an IDE (poor debugging and editing, even worse on Visual Design such that 3rd parties like eRain and ToonBoom have thriving Flash Design IDEs) and Flex itself that has gone through 3 versions already. Talk about a huge Learning Curve – I think of it as a Yearning Curve – Flash/Flex developers dearly hope that Flex 3 has huge islands of stability in the overall architecture as well major components so that producing output will not be so bleeding edgy.

Now I like the directions that Flash/Flex are going in. Flash to carry the Designer side of Flash/SWF development while Flex matches the Flash to the IT interface, workflow and data management side of development. With AIR/Apollo runtimes giving even greater scope. But Adobe must relize with SilverLight and JavaFX waiting to pounce on any weaknesses – the ability to change the Flash/Flex paradigm in major ways with impunity is coming to a rapid close.

Open Source Flex

Adobe made a big fanfare about Flex 3 saying that it was being open sourced. Now I have gone through the press release and I still do not understand what part of Flex/Flash/Air is open source and what is still on the vending block. I hope to have this issue starightened out real quick soon now.

However, it is worthwhile to note that Adobe has two critical advantages over Microsoft Silverlight. First, they have been packaging Flash .swf runtimes very efficiently for the past 10 or more years. Even with five years Microsoft Research on the job, Redmond is comparatively new at the game. Second, Adobe truly delivers cross platform on Linux, Mac and Windows with some additional support for Solaris, AIX, HPUX etc. Microsoft delivers SilverLight only on Windows XP and full edition – Vista only. Microsoft is talking with third parties about support for SilverLight on Linux and Mac. But this is an oft repeated ploy by Redmond – promise a world of cross platform but contract it out and never effectively deliver- think ASP, COM, DCOM, etc, etc.
And on the cross browser side of SiverLight the claims are not credible – Firefox, Safari maybe, and that leaves Opera, Konqueror and a host of browsers out in the cold. And support for Firefox may be limited to Windows only. And the worst part, is that Microsoft insiders are saying what will finally happen is “subject to change”.

Summary

So far Flex/AIR/Apollo has the best vision and foundation for delivery of all the RIA and GUI Integration players. However, the devil is in the details. I have developed some Flex 1 apps which really chewed up memory and ballooned on hard disk. In RIA runtime performance is on par with features for being a deciding factor. Also the forever beta tag may come back to haunt Adobe. But Flex 3 has enough positives to put Adobe even further ahead in the race to RIA/GUI Integration dominance.


(c)JBSurveyer 2007 If you liked this, let others know:
Slashdot Digg del.icio.us reddit newsvine Y! MyWeb