Developers and architects may salivate over the technical merits of AJAX, but managers should note that using AJAX frameworks also introduces risk. Unmanaged, these risks can increase costs or derail a development effort entirely. For example:
It's easy to choose the wrong AJAX framework. There are dozens of popular AJAX frameworks, and they are not created equal. Developers might want to cut a check based solely on a framework's rich widget set or light-speed performance, but architects will need to validate that the framework supports corporate standards for security, accessibility, service integration, and data access.
Finding best-of-breed AJAX development tools is difficult. Experienced Web developers don't mind writing JavaScript and XML in text editors, but most developers in enterprise IT shops prefer visual designers and WYSIWYG editing tools. When it comes to AJAX, the only such tool support available at present is tied to commercial AJAX frameworks, meaning that the choice of one is necessarily a choice of the other.
Cross-browser compatibility issues increase testing costs for AJAX. Testing costs increase in direct proportion to the number of browser platforms and versions to be supported. However, using a commercial AJAX framework can mitigate these costs, as the framework vendor incurs the cost of cross-browser testing. For example, Software AG certifies its cross-vision Application Composer on multiple versions of browsers like Internet Explorer, Mozilla, and Netscape.
The AJAX Path Itself Forks with Homegrown, Open Source, and Commercial Alternatives Just because a development team has chosen to go with AJAX doesn't mean that its tool selection effort is complete. There remains the important decision of how many and what type of AJAX frameworks to use. Today there are three types:
Many developers create their own frameworks. Development teams create their own AJAX widgets when they need customized controls that work in a specific way.
Other developers build on top of open source frameworks. Open source communities engage in a constant process of peer review, which quickly separates good design from bad. This leads to successful projects maturing quickly, while poor frameworks lose critical mass. When selecting an open source framework, look for active development communities with committed corporate sponsors, as this is an indication of longevity. OpenLaszlo, Dojo, and the Google Web Toolkit (GWT), for example, are supported by corporate sponsors like Laszlo Systems, IBM, AOL, and Google.
Commercial frameworks provide a throat to choke. Commercial AJAX vendors provide support and certification of their products, which is appealing for managers who are uncomfortable taking the open source route. They also focus on providing capabilities that enterprise developers require, including high-performance clients and tooling that makes it easy for developers to connect to enterprise applications.
Just as there are myriad AJAX frameworks, there are also myriad AJAX framework selection criteria. These criteria fall into five buckets: customizability; security and accessibility; widget set; tooling; and cross-browser support. But not all of these criteria should be weighted equally (see Figure 1).
Adobe's Solution Is Powerful, Predictable, and Productive Adobe is an attractive RIA solution because it combines powerful development tools (Flex) with a near-universal browser plug-in (Flash) that's designed to simplify RIA deployment. Managers who have concerns about small commercial AJAX providers or support issues with open source AJAX frameworks consider Flex a safe alternative. But there is a downside: To be productive in Flex, developers have to learn two new languages and an extensive runtime framework — something that can take between one and three months to learn. Once this initial hurdle is cleared, Adobe adopters see the following benefits:
Widespread adoption of Flash speeds deployment. When Flash is already installed, application deployment requires no additional changes to the user's desktop. Unlike AJAX, Flash doesn't require browser-specific code or enablement of JavaScript in the user's browser.
Flex works well for large-scale RIAs. Large-scale user productivity applications are often designed with conversation flows that require access to business data and rules to drive application context. Flex makes it easy for developers to provide the right business context and flow while keeping response times to a minimum.
Flex is evolving quickly and has a predictable trajectory. Adobe has invested heavily in Flex, and the result has been sustained improvement from release to release. In contrast, the future of AJAX depends on the whims of a dozen vendors and open source projects that aren't even loosely federated. In the words of one architect we spoke with, Flex is "one support framework to rely on, not dozens to integrate."
Flex Builder improves developer productivity and collaboration with designers. Flex Builder provides developers with a visual, WYSIWYG experience on a par with the best commercial tools for AJAX. What sets Flex Builder apart from these tools, though, are features that improve collaboration between developers and designers. Using Flex lets developers and designers at the American Cancer Society rapidly iterate through design changes and preview them with stakeholders within hours.
Flex Developers Are Hard to Find and Other Drawbacks of Flex But Adobe isn't perfect. App dev professionals should consider the following Adobe drawbacks:
Flex developers are difficult to locate and command a premium rate. Flex developers are harder to find and more expensive to retain than AJAX developers: In the United States, they start at $60,000 and top out around $120,000. One executive at a North American financial services firm we spoke with had to retain talent from South Africa and the Czech Republic to deliver a successful project. As more developers ramp up on Flex this issue will subside, but for now it makes Flex more expensive in the short-term than Ajax.
Flash upgrade issues can defeat the deployment value proposition. When users aren't on the latest version of Flash, requiring them to upgrade is risky because almost half will abandon the site. Many are unwilling to wait through the lengthy install process and instead choose to do business elsewhere — potentially with the competition.
Success can create an unexpected user response. Flash is a broad graphical canvas, and Flex allows designers to push the boundaries of rich media further than AJAX does. This can lead to a situation where users become distracted by a mix of Flash's rich media and Flex's new controls. IT organizations can avoid this response by introducing rich media gradually and frequently conducting A/B testing with focus groups.
Which RIA Technology Is Best for You? When aggressive developers push the boundaries of RIA development, they quickly run into barriers that affect their ability to take full advantage of RIA technology. Firms interviewed recently by Forrester Research cited several barriers to their RIA development efforts that no tooling available today could overcome (see Figure 2).
In selecting an RIA technology, application development professionals should choose AJAX when time-to-market is critical and updates are frequent. Experienced Web developers ramp up on AJAX quickly. AJAX also makes it easy to build RIA capabilities into existing apps with small, frequent releases. Finally, AJAX's customization capabilities make it possible to tune client frameworks to meet specific application footprints; this makes AJAX the better solution for smaller RIA deployments and for deployments where performance is critical.
For large-scale user productivity applications, developers should use Flex. Although Flash's client footprint is larger than AJAX frameworks, its market penetration makes it the preferred deployment platform for larger, comprehensive RIAs. Adobe is a safe choice for those who put a high value on reliable support and product continuity, concerns that are key when making strategic technology investments. The downside is that safety comes at the price of openness.
The benefits are clear: RIAs help users find and manipulate relevant content, complete complex transactions, and consume multimedia in the context of a larger app, providing improved customer experience, higher Web conversion rates, and thus improved revenues. While there's no one answer to the question of which to use, AJAX and Flex provide today's developers with options.
About Jeffrey Hammond Jeffrey Hammond is a senior analyst at Forrester Research where he covers tools and techniques for application design and development. He is a leading expert on software modeling techniques, integrated development environments and the emergence of new rich Internet application development practices and tools. Jeffrey holds a BS in economics (finance) from the Wharton School at the University of Pennsylvania.
Utkal wrote: Hi. What
about Curl ? you ve not
named curl in your
article. Is it so bad
that it can not compete
with RIA technologies
like Ajax, Flex, AIR,
Silverlight etc ?
I wish you could ve
included Curl too. I'm
new to web dev, and
started learning Curl.
Its easy to understand
and learn.
Ted Farrell wrote: Hey
Jeff. Interesting
article. We have found
that our users don't have
to choose. Our
JavaServer Faces
framework generates both
Ajax and Flash markup.
Other companies (google,
etc.) do similar things
as well. I think the
choice only comes into
play if you decide to use
Adobe's Flex components,
which only generate
flash. Many other
component toolkits
generate multiple
formats, including Ajax,
Flash, WML, XML, etc.
Ted Farrell - Oracle
Corporation
Marco Casario wrote: Hi,
nice piece of article !
I had a speach at the Web
2.0 about this topic
titled "Choosing the
final RIA path" :
http://casario.blogs.com/
mmworld/2007/11/using-the
-ria-d.html
http://blog.comtaste.com/
2007/11/choosing_the_appr
opriate_ria_t_1.html
and here you can see the
slides for my talk :
http://www.slideshare.net
/marcocasario/choosing-th
e-right-rich-internet-app
lication-technology-path
See you at AJAXWorld NY,
All the best,
marco
Gregory C wrote: Hi,
Thank you for this
interesting topic,
Could you please expand
this topic with the
accessibility
possibilities of both
solutions ?
In my mind, it seems that
Flex does not support
accessibility and with
some customization AJAX
frameworks like GWT are
able to handle this major
subject (we're currently
working on this topic
using GWT). Regards.
Gringaus wrote: Just
stumbled upon this
article... Pretty
embarrassing for senior
analyst at Forrester
Research to come up with
this b...t. Forrester,
get rid of him,
seriously.
Harry B. Garland wrote:
You forgot to mention
that Flex is object
oriented. JavaScript is
pseudo-OOP at best.
After all these years,
are we still debating
about whether or not OOP
is important? That is
crazy!
Canoo RIA Blog wrote: As
already mentioned in the
Canoo RIA blog, reading
this article is
recommended. It lists
several issues to
consider that many others
focusing on mere
technical aspects leave
out.
For a detailed discussion
of this article, see:
http://canoo.com/blog/200
7/08/15/how-to-select-ria
-technologies-part-1-of-3
/
Dirk wrote: Digg this?
Dump this you mean! I
suggest to use both
technologies before
writing this kind of
articles. Flex is simply
the technology to use -
if you would have used it
you would know.
Andy wrote: This article
generated more questions
in my mind than it helped
with answers.
What about the Flex/Ajax
bridge? What about
companies that will
continue to use both Flex
and Ajax for a variety of
different means?
What I really need is
more useful information
on how these technologies
help address various
types of business
problems that are being
translated into technical
requirements.
What are people's main
concerns? Mine are
security and performance
between the client and
server. XML based
services can be very
verbose, are test show
that Flex can have some
advantages here, but what
are other people finding
out?
What are the cost
differences?
Hopefully you can address
these questions in a
follow-on article.
Chester Chipperfield
wrote: I'm afraid you are
wrong on a number of
points here. This is not
subjective, but mostly
factual errors. Have a
read of this http://blog.
schematic.com.au/?p=46 ,
it goes some way to
pointing them out.
I took the advice of a
friend of mine and
steered clear of the
'normal' movie theaters
and went a little out of
the way to go to a DLP
movie theater. The
experience of comparing a
regular movie theater to
a DLP movie theater is
like comparing standard
def analog TV with a
1080i HDTV si
From Application
Virtualization to Xen, a
round-up of the
virtualization themes &
topics being discussed in
NYC June 23-24, 2008 by
the world-class speaker
faculty at the 3rd
International
Virtualization Conference
& Expo being held by
SYS-CON Events in The
Roosevelt Hotel, in
midtown
Verizon Wireless is
snubbing Google's
Linux-based Android
initiative to go with the
LiMo Foundation's mobile
Linux spec for its next
wave of mobile phones
expected next year. Along
with Verizon, Mozilla
signed up - giving the
consortium its first
major open source ISV -
and a key one f
Adaptec unveiled a new
family of entry-level
Unified Serial RAID
controllers. The new
low-profile Series 2 RAID
controllers, built on the
same Adaptec dual core
RAID-on-Chip (ROC)
architecture used in its
successful Series 5 RAID
controllers, provide
significant performance
enhancement
Sun's mule train has
finally pulled into
Indiana after three years
on the road. Indiana is
the Linux-friendly
Fedora-like OpenSolaris
project meant to move the
Solaris-shy Linux
community off Linux and
on to Solaris tempted by
Solaris widgetry like the
highly scalable,
rollback-easy, 1
Curl announced it has
released the availability
of an Ubuntu Installer
for the Curl Rich
Internet Application
(RIA) platform. Curl is a
Rich Internet Application
platform that competes
with Adobe AIR/Flex,
Silverlight, and Ajax.
Curl has been shipping
with Linux support for
RedHat 9, S
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice: