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.
'We're dedicated to
building the largest
open-source community
dedicated to RIAs,
breaking down the
barriers between
traditional preferred
languages, programming
models and solutions,'
says the co-founder & CEO
of Appcelerator, Jeff
Haynie, in this Exclusive
Q&A with Jeremy Geela
In the world of Rich
Internet Applications,
there is no shortage of
technology choices to
compose a user interface.
But what tools will give
us the best bang for our
buck? Here is a look at
some heavy hitters and
newcomers in the RIA
market, including: HTML &
AJAX, Rails and Grai
The pressure is on to
keep pace with Web 2.0
entrants into the
marketplace. Rewriting is
expensive; adding AJAX
widgets results in a
complex, unmaintainable
application. Both require
you to hire scarce
JavaScript developers.
Google Web Toolkit -- the
SDK that allows you to
write
Gizmox announced the
release of a fully
functional beta version
of its Visual WebGui
(VWG) with support for
Microsoft Silverlight.
For the first time, VWG
enables Silverlight for
enterprise applications
by providing a RAD like
Windows Forms development
experience with drag &
drop
The Web has evolved into
a structured data space
of loosely connected
databases, enabling
granular data
access-by-reference to
Web-accessible entities,
courtesy of HTTP. This
evolution and the
emergence of AJAX-based
RIA technologies lay the
foundation for a new
generation of lib
Jul. 18, 2008 12:00 PM
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: