Should you build your RIA application in Flash or Ajax? On an open source technology or with a proprietary vendor?
At AjaxWorld this week, I was amazed at the number of solutions for creating Rich Internet Applications. On the Open Source front, the usual suspects (libraries, frameworks, languages and tools) were mentioned:
- Prototype / Scriptaculous
- Yahoo! UI Library
- Google Web Toolkit
- Zend Framework
- The Eclipse Ajax Toolkit Framework
- OpenAjax Alliance
- Tibco GI (which went open source a few months back).
This is by no means a complete list of open source Ajax frameworks and applications – just those I heard mentioned or presented on at AjaxWorld. (Did no one mention JQuery?)
There were also a few “professional open source” solutions with companies behind them that were new to me:
- ICESoft Technologies – which releases ICEfaces in an open source version (MPL 1.1) and an Enterprise Production Suite version. They also make client side technology: ICEbrowser, ICEreader, and ICEpdf which can be evaluated but are not open source.
- Thinwire, an LGPL development framework for J2EE applications
- Helmi, a GPLv2 client framework
But there were also a number of proprietary solutions:
- Adobe Flex / Flash / Apollo
- Microsoft WPF / WPFe (they were not a sponsor, but mentioned in many presentations)
And a lot of people raised as either a concern or a hope (depending on how you see things) the increasing presence of especially Adobe and Microsoft in terms of rich, web-based applications with increased drawing/animation/media handling capabilities.
A couple recent ruminations on the subject:
- The Open Web: What’s at Stake (Brendan Eich’s presentation at SXSW)
- The Open Web and its Adversaries (Brendan’s blog post about the presentation and open-ness)
- Brendan Eich on Mozilla and the Future of AJAX (Dare Obasanjo reacting to Brendan, arguing that openness is a “red herring” in the debate, which should be focused purely on the best technology)
- Rich application engines and user innovation (Jon Udell, who sees a need to bring web affordances like indexing and linking to video and rich formats)
And recent releases of note:
- OpenLaszlo 4.0 released: outputs to Flash or Ajax from the same codebase
- Adobe Apollo Alpha released: currently Windows and Mac OS X only – support for Linux in “future versions.”
- Forthcoming: FireFox 3.0
My take: we need to preserve as much as possible the open-ness that has made the web successful. That said, there may be some cases where a bit of proprietary-company-driven innovation helps raise the bar – after all, XMLHttpRequest was originally a non-standard Microsoft invention.
If those proprietary companies can find ways to make their innovations available to all (available in the sense of API level access and open standards, not just free like the Flash player is free) they will be welcome additions.
If they try to lock developers and consumers into a closed model, they will ultimately fail.
Just my $0.02.