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

Review: The Best Ajax-Based Apps


Welcome, boys and girls, to the computing world of tomorrow! Desktop programs are a thing of the past, replaced by free, simple, Web-based apps that do everything from spreadsheets to e-mail -- and more!


Ajax Apps


•  Introduction

•  Calendars

•  E-Mail

•  Info Managers

•  Spreadsheets

•  Webtops

•  Word Processors


•  Image Gallery

Making it possible is Ajax (Asynchronous JAvaScript and XML), a programming technique that lends Web sites the same kinds of interactivity and speed that desktop programs have traditionally had. With Ajax, we'll no longer need desktop applications. Our data will be available to us everywhere we go, because it will all be stored on Ajax-based Web sites. Who needs Microsoft or other makers of desktop software? We're finally free!

That's the hype, anyway. But is it actually true?

To find out, we've scoured the Internet for the best Ajax-based sites in six categories: calendars, e-mail, information managers, spreadsheets, desktops (known in the Ajax world as webtops), and word processors. We've picked the winners and runners-up in each category, and taken a look at a few of the other competitors in each category as well.


What Exactly Is Ajax?


Ajax lets Web developers create interactive Web sites that function more like desktop programs than slow, static Web sites. Gmail and Google Maps are two of the most common examples of sites built using Ajax. A variety of techniques allow Ajax to place the interactivity directly within the browser, instead of the browser having to constantly contact a Web server to get information.

When someone visits an Ajax site, the browser loads the HTML page as it would normally. After that, though, Ajax uses JavaScript for interactivity. When a site visitor makes a request for more information -- for example, to fetch a map -- the JavaScript makes the request. The JavaScript doesn't make a request for information directly to a Web site, though -- instead, it uses an API called XMLHttpRequest to transfer the data back and forth. (The data requested is usually in XML format, although it doesn't have to be.) This allows the Web page and JavaScript to continue to interact with the user, while the XMLHttpRequest handles communications with the server.

JavaScript takes the information handed to it by the XMLHttpRequest, and then uses it or displays it. But only the portion of the page that needs the information is refreshed. This speeds up the display of information, because the entire page doesn't have to be changed.

First off, don't throw away your desktop applications just yet. As a general rule, Ajax sites simply aren't as powerful or as useful as their desktop counterparts. Spreadsheet jockeys, for example, will want to stick with Excel for the foreseeable future.

But we also found surprising power and features in these sites. For example, Zoho Writer is in some ways superior to Word, because it automatically creates an HTML version of your document on the fly, and handles images better. And Gmail can give any e-mail program a run for its money.

In general, if you're looking to collaborate on documents, or share calendars, these sites can't be beat. Nothing on your desktop compares with them.

Also, keep in mind that most, if not all, of these applications are still in beta mode (in fact, a couple insist they're alpha), and so may change radically over the coming months.

So which are the winners and losers? Check out our reviews in each of the categories to find out.


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.