Escolar Documentos
Profissional Documentos
Cultura Documentos
AJAX
Friends or Foes?
Anthony Franco
President, EffectiveUI
Updated January, 2008
Introduction
Many developers will say that Flex and AJAX are apples and oranges. Others say the technologies complement each other
and should not be be viewed as competitors. While both notions hold certain measures of truth, in the space of rich Inter-
net applications (RIAs), there are still many situations where either technology might provide a similar solution. This paper
will point out the commonalities and differentiators, discuss the pros and cons of using different frameworks for various
implementations, and provide a comparison between Flex and AJAX in situations where they are both relevant to the
same issue.
What is Flex?
Adobe Flex is a free, open-source platform and component library for developing applications that can be fluidly deployed
on the ubiquitous Adobe Flash Player. When you think of Flash, you may relate only to the Player or the Flash develop-
ment IDE, but in reality, Flash player is a powerful application platform. Flex, in comparison to the Flash IDE, is a more
flexible development framework to build applications for the Flash and AIR runtime environment.
Additionally, Flex opens up new design possibilities by enhancing standard Web browsers with the Adobe Flash technol-
ogy on which Flex is built. This technology is now available in two compatible runtime environments: Adobe Flash Player,
and Adobe AIR, a runtime that allows Flex applications to exist on the user’s desktop outside the confines of a Web
browser. Both runtimes provide a set of powerful, time-tested tools that open up new possibilities for Web and desktop
application design and blur lines ever further between desktop and Web experiences.
Flex is specifically geared toward building robust, rich Internet applications (RIAs) — solutions that deliver immersive ex-
periences and behave with interactivity and user engagement similar to desktop applications. There are two languages
inside the Flex Framework: MXML and ActionScript. ActionScript is a strongly typed ECMA compliant scripting language,
while MXML is typically used for layout, styling and data binding.
What is AJAX?
AJAX is an acronym for 'Asynchronous JavaScript and XML’. It combines coding with HTML, JavaScript and XML, allowing
interaction between the client and server to occur asynchronously. The asynchronous element is important here —
meaning that a user’s interaction with the interface is not interrupted by page refreshes every time the server is called
upon to do something (the same is true for Flex applications). In essence, using AJAX developers can leverage a series of
techniques and tricks to make traditional Web pages more interactive with little shifting or their existing skill sets.
Feature Comparison Matrix
Important Note: AJAX services, tools, libraries, compatibilities and components are morphing every day. The following
matrix is designed to compare the important features of the most robust AJAX frameworks with the Flex framework. It is
not meant to be a comprehensive feature list, and is subject to some interpretation. In addition, since Flex and Flash are
irrevocably bound together, many of these comparisons do not make the distinction between Flex, Flash or the Flash
Player.
Use Flex:
• When you need to develop applications that require a robust, scalable rich Internet application.
• Where you require sophisticated and interactive data visualization.
• When video and audio playback or Web camera and/or a microphone capture is a requirement.
• Where you require complex animation or bitmap manipulation.
• When the graphic design is core critical to your business needs.
Flex would be the right choice for product configurations, workflow/process/inventory management applications,
video conferencing, playback and editing, immersive or entertaining experiences, data visualizations and manage-
ment dashboards.
Use Both:
• When SEO and an immersive experience are equally important.
• When neither framework meets all of your needs — for example, when video playback and HTML rendering are
both required.
Using Flex and AJAX together would work well for WYSIWYG HTML editors and user-generated content portals.
Additionally, in real-wold use, Flex typically requires less coding to build the same or better functionality. The learning
curve is somewhat steeper, but the development times are significantly lower.
Here are some words of advice from Doug Schmidt, senior architect at EffectiveUI:
“I really believe that Flex development is faster than AJAX simply because you end up writing less code. The Flash runtime just handles a ton of
[stuff] for you. I am technology agnostic (or try to be), but one thing I certainly am is lazy!!! I'm too old to be motivated by caffeine and late
nights. So Flex has my vote in the productivity camp. Flex vs. C# feels to me like the same productivity boost that C# vs. C++ did a few years
ago.”
Pete Cashmore: “Flash, AJAX and Yahoo Maps: Does the Technology Matter?”
http://mashable.com/2005/11/03/flash-ajax-and-yahoo-maps-does-the-technology-matter
Jeffrey Hammond, Forrester Research: “Ajax or Flex?: How to Select RIA Technology”
www.forrester.com/go?docid=40989
Wikipedia
http://en.wikipedia.org/wiki/AJAX_vs_Flex
Flex.org
http://www.flex.org
AJAX.org
http://www.ajax.org
EffectiveUI’s Website
http://www.effectiveui.com
About EffectiveUI
EffectiveUI has emerged as the leading user-centric design and technology services provider. Through their unique combination of user
experience strategy, breakthrough design and leading development expertise, EffectiveUI helps clients by maximizing customer en-
gagement and their online business opportunities. They are known for providing highly engaging, immersive, and effective rich Inter-
net, desktop and mobile applications. Some of the most prestigious and reputable brands worldwide have turned to EffectiveUI as the
strategic partner where the quality of the user experience is mission critical.