Post
With so many RIA options out there, many people get confused about which technology to hitch their wagon to in order to build an RIA. Unfortunatley many RIAs are built with the wrong stuff. Here are some general guidelines to help you make better choices.
- Performance is still important. Consumers are even less patient now with poorly performing web sites. Just because a lot of people have broadband-speed Internet access is no excuse for building poorly performing web sites.
- Maintainability is important. The more complex your technology the higher the risk and cost of maintainability.
- Most applications need to support multiple platforms. IE, Firefox, Safari, Opera, the iPhone, Windows, Mac, Linux - are all major market segments. Understand which platforms you ned to support.
- Accessibility is important and may be legally mandated for your RIA.
- Re-use may be important from a cost management perspective.
Taking these things into account I try to use the strategy of choosing the simplest technical solution, with the least amount of code to maintain, that works on most browsers, that will support my requirements.
My technology ladder usually looks like this:
- Plain Old Semantic HTML (POSH) + JavaScript
- Hand written DHTML / Ajax
- Flash
- Some Ajax toolkit (like Dojo, or Prototype)
- Flex
- A custom plugin (which I have never done)
Even though Flex is #5, it's sometimes the best solution for dynamic charting. Even though the toolkits like Dojo handle Ajax beautifully, I don't always want that much code to do a simple XHR. Flash is great for a lot of controls, and some charting applications.
I sometimes find that developers choose a technology merely because they are more comfortable with it. That is a compelling reason, however it doesn't lead to the best technology decisions.
- How about using Flex for prototyping? I've found that sharing UI designs using Flex and reflecting data to fake out the "meat" of the application has proven useful for one of the applications I'm currently building. Drawing on a piece of paper and then writing it in Flex to share with the team worked for me. The application might ultimatedly be written in something else of course. I realize there is a licensing cost to Flex so perhaps it might be hard to justify just for prototyping.
On a side note, I really like GWT (Google Web Toolkit) as a way to develop RIAs based on #1 and #2 of your technolgoy ladder.
- While I wrote this just under 2 years ago and it's really just my quick test for choosing Flex or Ajax, I find that it still applies "Flex or AJAX :: A Quick Litmus Test" :: http://brianmriley.wordpress.com/2006/08/22/flex-or-ajax-quick-litmus-test/
Sorry for the link to my blog, but it seemed better than just copy and pasting my exact thoughts here when I already have them stated elsewhere...
Posts: 5
Comments: 10
Rich Internet Applications and the Human experience. I write about technology I use - notable Flash / Flex / Silverlight and Ajax, and the way those technologies can make life better for humans.
