Top 5 Reason’s Adobe Flex and AIR are Not For You

A while back I started to put together a list of cases where it might be better to avoid using Flex and/or AIR, but never posted it.  I ended up concluding that most of the issues can be addressed if Flex is a fit otherwise.  I have never been an engineer that believes that any one technology is a fit for all cases.  The other side of that coin is that I don’t believe that any platform is perfect, and you have to accept the pitfalls of whatever you choose.

Anyhow, I decided I should dust it off and put it out there.  If, for no other purpose, than to have a good reason to post the facetious list I wrote up to go with it.

Here is the list of potential issues:

  1. The iPhone:
    If you are building an application that must be available on every platform, including ones that have not been created or released yet, then targeting the Flash platform is not ideal.  That said, the notion of the platform that is portable across all types of devices and form factors comes up frequently, but in most cases it is entirely unrealistic and undesirable to build real applications with this approach.  A better approach is to build applications tailored to each specific device (or at least each genre), such as a native iPhone application with features tailored to a mobile device.

    So, in this case the iPhone is symbolic of platforms that do not support Flash and have no published roadmap for supporting 3rd party runtimes.  If you are building an application that truly has the requirement of being the same application on the desktop and every mobile device (which certainly exist), then using Flash is a no go.  In many of these cases, standard browser technologies are the default option (HTML, CSS, and JavaScript).  RIA features can be added by using frameworks like GWT.

  2. Search:
    In 2008, Adobe announced their collaboration with Google and Yahoo to make Flash content searchable.  The ability for major search engines to craw a SWF file is a nice step forward.  Yet, if you have consumer-facing content that must be searchable, then it may be best to avoid RIA features in general (not just Flex).  The search paradigm is heavily dependant on the page-based model.  It is a major challenge to build rich applications that can be entered from any direction and properly reconstitute their state.
  3. Low Bandwidth Clients:
    If you are building a system that potentially services a large volume of low bandwidth users, then Flex can present some challenges.  The compiled applications are typically quite sizeable.  Flex does allow for breaking up the applications with runtime-shared-libraries (RSL’s).  With that approach, the Flex SDK still has to be downloaded (just not over-and-over).  So, trying to using Flex in this case is a bit of a stretch.

    AIR can actually present some real opportunities with offline clients.  For example, Parleys.com has reported that low-bandwidth clients love their application because it can download videos overnight for viewing offline.

  4. Content Centric Applications
    There is a class of content centric applications that fit the hyperlink paradigm and should never be made into RIAs, such as Wikipedia and Craigslist.  Certainly, there are a number of applications that combine heavy content along with the need for a number of advanced RIA features.  In those cases, Flex / Flash has presented real challenges because of its limited ability to deal with large bodies of text.  Many of these limitations are being addressed with the next version of Flex and the recent release of Flash Player 10.
  5. Local Device Access:
    Adobe AIR makes a compelling case for building desktop applications with web technologies, but if you are building an application that requires local device access then it is worth considering more traditional desktop platforms that offer a greater level of access to machine resources.  The community has responded to this concern with the Merapi project, but for those looking for major vendor support this is still a valid concern.
Now, the facetious list that highlights a number of reasons one might settle on not using the Flex / Flash platform:
  1. You prefer not to have a full featured easily extensible set of components.
  2. You like spending time debugging your Ajax applications in all the different browsers and versions.
  3. You are a Java developer and too afraid to shell out $250 for an IDE.
  4. You believe that you can do anything you ever wanted to do in Perl.
  5. You like working in a 10 year old standard (HTML 4).
  6. You like the term Open Web, and believe it actually exists.
  7. You hate quality applications, your clients, and yourself.

Let me know if you have any additions for either list!

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • LinkedIn
  • DZone
  • Facebook
  • Digg
  • del.icio.us
  • Reddit
This entry was posted in Historic. Bookmark the permalink.

One Response to Top 5 Reason’s Adobe Flex and AIR are Not For You

  1. william riley says:

    1) The iPhone:

    Flex apps can be ported over to Iphone with build in HTML 5 Converter. In face the number one new selling application in the iStore was created in flex.

    3) Low Bandwidth Clients:

    Flex application are stored on the client machine so unlike a dhtml application once the GUI is there only data needs to be transfered. This results in better Bandwidth. Additional the AMF protocol has been shown to be up to 10000x times faster then AJAX increasing Bandwidth performance.
    http://www.jamesward.com/2007/04/30/ajax-and-flex-data-loading-benchmarks/

    Flex Applications can be deployed to Android, IOS, Windows, BlackBerry Playbook and etc. With one code base ;)

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>