Search code examples
ajaxfuture-proofproduct-development

usage of ajax in a product


Say I've been tasked to architect a product that will have a browser-based front end.
The sales team wants a snazzy app. The product management team want to make the product cost effective (right through the maintenance phase)

Now assume that the technical team gets to make the call (i wish :)) whether to give the users a 'rich' look & feel that sites like stackoverflow/facebook or to give them something from the 2006 era... with this bunch of considerations thrown in..

  1. The product life is envisaged to be around 6 years
  2. The product maintenance team should not need to refactor code to match future browsers
  3. The product maintenance team will only enhance business functionality
    ..and a whole lot of related stuff like this

.. would you recommend that ajax be used? If yes, what gives me that guarantee that the UI(ajax framework) I use today will continue to work with no change over the next 2-3 browser versions?

EDIT: Please don't assume that I have anything against AJAX. I've been working on DHTML since 1999 and ajax since before it was called ajax :) I've also been working on server side components that have not needed to change since 2002 just because they were coded to a spec.

Having said that I've got first hand experiences of how much 'fail gracefully' code I'd have to write just to keep these capricious browsers happy. Anyway, thanks for all your answers and I guess I'm back to implementing 'fail-gracefully' code yet again.


Solution

  • Generally, any framework is used for many years and as such ajax has been around quite some time. Additionally, browser change/updates are very sparse at the moment and we still have a 60% usage of ie6 if that is a tell of any sort.

    Generally, architect your system/solution with the idea of fallback solution in case of ajax/jquery frameworks not being available. Use the frameworks to extend the UI features and functionality but, at a base without them it would still have functionality.