Build Rich Internet Applications that Run Outside the Browser

Adobe AIR on Ulitzer

Subscribe to Adobe AIR on Ulitzer: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Adobe AIR on Ulitzer: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Adobe AIR Authors: Yeshim Deniz, Yakov Fain, David Weinberger, Maureen O'Gara, Tad Anderson

Related Topics: ColdFusion on Ulitzer, Adobe AIR on Ulitzer

CFDJ: Article

Three RIA Platforms Compared: Adobe Flex, Google Web Toolkit, and OpenLaszlo

Strengths and weaknesses evaluated in three Report Cards

Kevin Whinnery's 2.0 A Go-Go Blog

The defining characteristic of any RIA is that it has a stateful client that is (or should be) platform and browser independent. With the advent of new RIA platforms like Flex, GWT, and OpenLaszlo, developers now have all the reach of a traditional thin-client web application with many of the useful characteristics of thick-client applications, such as the ability to maintain state on the client. Is there a clear winner of the three, one toolkit that developers should focus on at the expense of the others? I don’t really think so. They each have their strengths and weaknesses.

Here  I thought I would dedicate a little web space to throwing in my two cents about what I think those strengths and weaknesses are. Is there a clear winner of the three, one toolkit that developers should focus on at the expense of the others? I don’t really think so. Much of that decision is based on the requirements for your project. But Flex, GWT, and LZX are certainly not created equal for all tasks, and I hope to give you a sense of what tool is going to be the best choice for your project.

In grade school teacher style, I have scored these three frameworks based on my own appraisal of their utility in the area specified:

Flex Report Card:

  • Language Syntax: B
  • Development Process: C+ (B+ with purchase of the 400 dollar Flex Builder Eclipse plugin)
  • Widgets/Features/Power of Toolkit: A
  • Ease of Deployment: B
  • Server-Side Data Integration: B+
  • Client-Side Performance: A-
  • Platform Flexibility: B-

    Notes:

    Adobe Flex, in my opinion, is the most powerful of the three frameworks in terms of what you can accomplish visually with the least amount of work. Native drag and drop support for many widgets, CSS-type styling for components, and fine-tuned control over component behaviors give the developer the most tools to do wild and crazy stuff with their user interface.

    The language syntax is based on XML and ActionScript, which coupled together provide an expressive means of composing a UI. MXML tags work well to nest components and easily create layouts that are human readable. In terms of client-side performance, Adobe Flex 2 stacks up pretty well, as version 9 of the Flash Player (required for Flex 2) offers some serious performance upgrades over previous versions. Flex is agnostic in where it retrieves server-side data and provides solid functionality for SOAP web services, REST web services, and Java/ColdFusion remote object functionality (though I’ve never personally used the remote object stuff).

    In the negative column, Flex is (ironically) the least flexible of the frameworks in terms of platform, as it can only run in version 9 of the Flash Player (and it can be compiled for Adobe AIR, but that is a topic outside of this conversation). The good news is that according to Adobe, over 90% of the web community in most developed markets already have Flash Player 9 installed, and that number increases all the time. And unless you purchase the spendy Flex Builder Eclipse plugin, the Flex development cycle can be a chore, as Flex files must be compiled via a script. Also, the command line debugger is not very user friendly when compared to most modern IDE debuggers.

    See next page for GWT Report Card and OpenLaszlo Report Card...

More Stories By Kevin Whinnery

Kevin Whinnery is a core contributor and Technical Evangelist for Appcelerator, an open source Rich Internet Application framework. Prior to joining Appcelerator, Kevin has been a web developer on both the client and server side for ERP vendor Lawson Software and technical consultancy Perficient, Inc. Kevin is also the author of the upcoming book "Appcelerator In Action" from Manning Publications.

Comments (2) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
NN 05/12/08 04:50:27 AM EDT

Yeah you are right GWT is poor man's Flex.

After using GWT on two projects I am done with creating UI using Java.

Best combo is Flex + ROR or Flex + Java (server side rules no question about that)

Otherwise Appcelerator sounds great for page level RIA.

Flex Wins 02/04/08 11:28:48 AM EST

Overall Flex has the upper hand - not only has Flex Builder's price dropped (250, and don't forget that you get what you pay for with the free alternatives, ya spoiled devs...), but it's not fair to say Flex is "less flexible" on platform. You're saying it's not flexible because it only runs on the Flash 9 "platform", yet when comparing GWT's platform compatibility, you switch the definition of "platform" to the web browser (I guess). Problem is, Flash/Flex runs on that same platform, and arguably runs BETTER because it doesn't care about the browser or the OS, unlike JavaScript/Ajax. Flex is running in the "Flash VM" so it obtains platform independence quite well with that in mind. GWT... might be "pretty good", but it's basically the poor man's Flex.