Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Web Development

A Better Ajax Than Ajax? Adobe Says, 'Yes'


The former Macromedia in San Francisco was known as the Cadillac supplier of tools for Web site development. Now, as part of Adobe Systems, it wants to become more of a Volkswagon-style supplier: The driving experience will remain the same but its aiming for thousands of new drivers. Actually, over the next three years, it would like a million.

Adobe acquired Macromedia in December and is bidding to broaden its product line in the field of rich Internet applications, the "next generation" apps that allow more customer self service, more individual user interaction with the Web site, and a higher degree of navigability for site and user interactions.

In 2004 Macromedia launched Flex, a $20,000 set of user interface components and tools to make it easier to build applications capitalizing on Macromedia's multimedia engine, the Flash Player. To date, about 5,000 developers have made use of Flex components and tools, says Jeff Whatcott, senior director of product marketing.

Now it's giving away the software development kit for free, lowering the price of the ease-of-use development tool, and widening the capabilities of Flex 2 to work with Ajax. The old Macromedia used to say the future of interactive Internet applications belonged to the Flash Player. Many user interactions could take place within its confines.

Adobe now says Flash is great, Ajax is great, and Flex will work with both. In effect, Adobe says Flex 2 and other Adobe tools will provide a high-end development platform for Ajax-style development.

"We think Ajax is incredibly cool," said Whatcott. "We are not at war with Ajax. Like peanut butter and jelly, Flex and Ajax go great together."

To attract more developers to Flex, Adobe is dropping the cost to zero for getting started with Flex. It's giving away the Flex software development toolkit, which includes the Flex compiler, and making its integrated development tool, Flex Builder 2, available for $499. User interface components come with it. It's also expanding what Flex 2 can do with a set of Data Services, a bunch of Java Servlets running on an Internet server that add guaranteed message delivery, publish and subscribe services, real time push of data to the browser, and collaboration capabilities. If Flex previously concentrated on the end user interface, Flex Data Services bolsters what Flex can do at the server. Again, Adobe is making it free to get started with Flex Data Services in its Express version, which can be deployed on a single processor server. The moves to make parts of Flex freely available are intended as "a game changing move," says Whatcott. But when Data Services get deployed in production on larger servers, that's when the $20,000 price per CPU kicks in again.

Although Adobe says Flex 2 works well alongside open source Ajax, the differences that it emphasizes suggest that it's a better Ajax than Ajax. For example, Flex 2 implements a new version of the Flash scripting language, ActionScript 3.0, a proprietary version of the international standard EcmaScript. ActionScript competes with Ajax' notoriously cranky JavaScript and surpasses it when it comes object-oriented behavior, making it easier for Java developers to become Flex users.

"ActionScript is a much more powerful language," said Mansour Raad, chief architect for a unit of ESRI, the supplier of geographic system services and software. ActionScript in its third version traps programming errors and enforces variable typing, which lead to clearer runtime results and avoids some tampering exposures. JavaScript, in comparison, "is kind of strange and loose. It let's you do anything you want and continues on its merry way."

Raad said another proprietary feature of Flex, its use of MXML or Macromedia's extended XML, lets programmers lay out a user interface the way it will look to the end user, rather than requiring a JavaScript programmer to guess at how the HTML will look once displayed.

When combined with Adobe's new Flash Player 9, Raad said the combination yields impressive results and ESRI uses it to add specialized functions over its mapping and geographic data services. For example, ESRI's Arcweb Service has a "Find" function that a developer can be place on a map of a state or country. It lets the end user type in an address or zip code and the map zeros in on the locale, without the user downloading a fresh HTML page. If asked, it also will find the location of the end user's computer.

Because Flash 9 recognizes ActionScript 3.0, it can scroll through large tables or maps as if they were located on the user's desktop machine instead of being downloaded from an Internet server. The Flash Player uses compiled ActionScript code instead of an intermediate, interpreted code, as JavaScript does, eliminating the jerky motion as a user moves through a table. "It's a hundred times faster," claims Raad.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.