To Flex Or Not To Flex

Posted by - September 22, 2008

In this article I would like to share my experience in application development using Flex to make it easier for you to choose to use or not to use it in particular situations. Far too often it appears that using Flex is not only unwelcome because of time limits but can also be damaging to the project.

First let’s overview application types to search for the fertile field for starting Flex development. Apparently we can already divide the applications we are interested in into desktop and web-top applications. Web applications may be usual (casual) or RIA, and each of them may have either front-end (surface site) or back-end (admin panel). We must never forget that they may be internet type for casual men of the web and intranet type for corporative users. With the help of Adobe AIR Flex became available on desktop but its usage comply with the same requirements as it does on web.

Web applications which are not RIA

You almost never need Flex to develop classic sites. I mean home pages, news services, forums, blogs, portals, social networks etc. Everybody who try it on the base of anything except HTML+JS, receive inflexible hardly indexable craft which has problems with text rendering and holding standard behavior in browsers and so on.

I took part in the development of such a kind of project in Sonopia. Our authorities who were impressed by RIA features wanted us to work out a social network on Flex which supposed to be full of media content and other ultra-things. As a result we got the list of standard services such as Dashboard, Profile, Photos, Guestbook that appeared to be at least awkward. Users could not put formatting tags, photo references and flash widgets in Guestbook. Site navigation did not synchronize properly with the button “Back” in browser. The application weighted 1,5 Мb performing the minimal list of functions. Once everybody had noticed that the speed of development of something that should have not been considered as Flex was twice as long as using HTML. The rest of the project was written using standard technologies. As a result we came up again problems with synchronization between both HTML and Flex parts of the project. A bit later Flex developers crew was disbanded and the project failed.

Another example is portal top4top.ru. Although it was foreseeingly written using pure Action Script it is a spectacular example of incorrect positioning of technology (not to mention the whole ideological trend).

For personal interest while studying Flex I made with the help of it several standard web sites for the Etwas Unders band and for JMAK studio. As far as the number of chapters and content was not so wide they looked good enough. Although lots of inviters could not understand why I did use Flex. I agree there was no proper reason for this. The only advantage is that there were almost no problems while adapting them to the different browsers (I agree that it could be the main advantage in some cases).

Recently I came across xoalt.com the internet-catalogue of goods. Such projects as well as internet-markets or just catalogues of something you must never develop with Flex. The main feature of such projects is high accessibility to searching engines in which Flex as well as all flash applications traditionally is not too good.

The development of administrative panels is also quite doubtful. You will have some problems in case you need flexible work with text but if you need to show a lot of tabular data with ability to edit it then Flex with AdvancedDataGrid component may be useful. Drag-n-drop is also possible on JS but I do not resist the fact that Flex may do it easier and more quickly.

RIA

Strange though it may appear Flex does not always rule here also. Sometimes it seems that in general flash player is used only for playing music and video. But once HTML 5 is likely to support these features why should we use Flex? Though it may seem that Flex will never find its stable field and is always going to be just an alternative but do not worry there is a range of situations were Flex is totally useful. I am going to describe something like a project requirements which can be done successfully if you choose Flex.

“We need to develop a huge cross-browser web system for monitoring/management/statistics of particular processes of particular company or product. It is expected that there would be lots of hierarchic or tabular data in the system which you need to sort out, group or edit. We need to develop more then ten different forms of entering and editing data. The code must realize OOP practices and be self-descriptive as far as the project is quite long-term and staff turnover is inevitable.

or

“We need the on-line system for processing video-signals from several sources as well as appropriate UI for base editing and saving content to server.”

We might come up with more examples and all of them would be connected with similar feature which is essential for Flex.

Flex is the best way to develop web applications with big amount of forms including custom input controls with the ability to skinning them including all multimedia features of flash-player on the object oriented code base which is easy to support and maintain.

Since these criterias fully content corporative systems we do not see too many Flex applications that would be popular among well-known internet services except on-line photoshops and video editors.

Now I am involved in developing such a corporative system to manage advertising content on television. Instead of being long-winded I would present several UI wireframes which must be realized very soon.

I suppose there is no need to give any extra comments about why Flex was used here. This article altogether is one big comment which was caused by this project.

To conclude we should resume saying obvious things. Your purpose as a developer is to weight lots of  factors of future application and basing on this information not to chose (which happens more often) or to chose Flex. If you are being hired as a Flex developer in a project where its role is doubtful or even absurd then think twice not to become weak link in the eyes of rude java-developers or proud-selves c#-developers, you know, your team-mates (I have such an experience).

2 Comments on To Flex Or Not To Flex

Respond | Trackback

  1. Amarghosh says:

    Agree with most of your points.

    SWF size is a real issue – or is it? I mean, these days everyone uses broadband…

    … and I thought I learned a good-useful-powerful technology :(

    • tearaway_Tea says:

      Yeah, size is a real issue. Not for users but for hosting owners bacause of possibile huge traffic. =)

      If you have learned Flex you can’t be upset about that, there are a lot of customers who want to make their projects on Flex. Also you can start to learn Silverlight. It seems it will be a real silver-bullet for all RIA applications.

Respond

Comments

Comments