Flash vs. Ajax: rich clients on your web-site

Posted by: Rea Maor In: Programming - Thursday, March 29th, 2007

In this time of Web 2.0, serving your clients with rich content over the internet has become probably more a survival strategy than a matter of taste. Of course, since some web-pages can
It is increasingly common to hear arguments about the RIA’s deployment of Flash against the RIA’s deployment of Ajax. I consider this to be the wrong approach to build any web-site. Architects do not choose first the material of their buildings and then make the sketch. You do can discuss if wood is better than stone or stone is better than wood. But when it comes to build a barn or shack probably you will be better off if you stick to wood. On the other hand, for a building stone will be unavoidable to use concrete. A third alternative is that you use wood, glass, concrete or stone there where you have a need to it. Approaching a development through this top-down point of view guarantee that you will take the right decision for the corners of your project, that the whole will be a whole and that the intended function will be fulfilled.

The approach to building a web-site should follow the same path. Analyse what function your site fulfil, break it down into components and start walking. For each component choose the more suited technology. Don’t build something with Flash that you can do 2 times faster with Ajax.

Take for example Google Finance. In the site you’ll find an implementation of Ajax, where it is suited for. All the action behind the scenes is done in it. The Ajax implementation will gather all technical specs and parameter of your request. But when it comes to provide the user with a sophisticated graph, they reach to Flash and present the result in it.

Summarising, the main capabilities of Flash are: audio, streaming video, animations with irregular shapes, sockets (gathering data from databases). This last feature is very useful for internet based games, stock exchange trading programs, etc.
The weak points of Flash are clearly: weak text layout, and dynamically uploading and presenting text.

If you are in the crossroad and asking yourself: ‘œSo, Ajax or Flash?’ Important is to keep in sight in which direction your web-site will be growing. Do you need fancy graphic design or is it text heavy? Instead of trying to find an answer, imagine your site like a set of component (it is a set of components anyway) and choose the proper technology for each of this components.

Related Posts:

5 Responses to “Flash vs. Ajax: rich clients on your web-site”

  1. Tony Says:

    heh, ADD stands for Ajax Driven Development 😉

    Another important thing to consider would be graceful degradation – with JavaScript/Flash turned off on client-side, will the site still work? For users, it might be due to accessability/security/obscure-browser-settings reasons.

  2. Paul Says:

    That’s always the problem of delivering dynamic client-based content: if the user does not have java, javascript or flash installed, the site will probably be broken. In the case of Flash the site will at least point to a way of downloading a player. If Javascritp is deactivated probably you will see nothing or just an empty space.

  3. Rea Maor Says:

    Indeed you are right Paul, but if you ask me, it’s VERY rare to find someone who disabled JavaScript capabilities from their browser

  4. Tony Says:

    Well that’s the point of graceful degradation – offer the service without breaking completely. No Flash? Replace with basic text and graphics (think sIRF). You could in fact use Google’s Gmail (or many other AJAXy services), it’s just that it has to keep on reloading the page all the time.

    @Rea – it’s actually more common than you’d think. Considering that JavaScript is used to power the majority of ads (and Flash ads are often annoying), disabling both could actually improve one’s internet experience.

  5. Nur S Says:

    It is not hard to produce a system that works really good even when there is no JS enabled, but if you say that JS is a system requirement you have something strong to rely on.

    Just an example: WYSIWYG editor

Leave a Reply