Jump start your AJAX deployment by using the Zapatec suite which includes six widgets,
three modules and a library. Don't be intimidated by the Suite's breadth, its components
are built with ease of use in mind, and you can start with one or two and migrate
to using the full suite as your needs and familiarity increase.
The Zapatec Suite is a commercial toolkit for building Ajax-enabled, rich-interface
web applications. It has modules and libraries that provide a wide range of DHTML
effects and widgets. The Zapatec website is rich with examples and demos, and an
evaluation copy of the suite can be downloaded, along with documentation. Some of
the widgets come with web-based "wizards" that allow you to develop JavaScript code
without knowing JavaScript. A "lite" license is available for free, which requires
the developer to link to Zapatec for each module used. The commercial licenses start
at $399 for a single-server license.
This is one of the most impressive commercial Ajax/DHTML suites I've encountered
since starting this list. I downloaded the "lite" Zapatec suite and went through
all of the demos with Firefox, Opera, and Safari on Mac OS X. I'm pleased to report
that everything worked, and in fact worked in almost exactly the same way in each
browser. There were a few anomalies that I noted--for example, the custom visual
effects are "flickery" in Firefox, and the background color for the modal windows
appears opaque black in Safari and Opera rather than translucent grey. There were
a few others, but frankly the suite is so strong that I started noting every tiny
discrepancy simply because there was so little deviation in appearance and functionality.
Particularly impressive are Zapatec's powerful and flexible menu, calendar, tab,
and table grid widgets, as well as the suite's visual effects. To date, I've found
the Script.aculo.us effects to be about the best out there in terms of variety and
flexibility. But Zapatec's go a step further. Like Script.aculo.us, Zapatec offers
combo effects, but the effects are much smoother, and it's much easier to set up
and modify them. The table grid widget is likewise the best I've encountered. Not
only can you do the standard column sorting, you can also filter the HTML table
on any of the various column fields it contains. You'll have to see this to believe
me, but it's truly remarkable. One of the grid demos shows how Zapatec can even
take Yahoo search results and set them up as a grid on the fly, allowing you to
sort on modification date, URL, title, etc. Simply amazing.
All this power would be for naught if the company had built it on lousy, proprietary,
and difficult to maintain JavaScript. But I'm also pleased to report that their
DHTML implementations are pure DOM scripting--Unobtrusive JavaScript in the very
best sense. Behind their menus, tabs, table grids, etc. are simply HTML constructs
with DOM ID's--Unordered lists, HTML tables, and so on. All of the JavaScript is
in the header, where it belongs. One additional advantage that helps in implementing
the library quickly is that each set of functions is associated with a discrete
combination of JavaScript files that have little if any overlap. Aside from a utility
(util.js) file that's common to all, you add to your application only the needed
components, and those are clearly documented.
Which brings me to the final strength of this package--Documentation. Whereas Dojo
has some terrific widgets, and even some you won't find in Zapatec (yet... its scope
is quickly being expanded), you also can't find documentation on the Dojo widgets.
The Zapatec developers have meticulously documented each and every function, widget,
and demo they've provided, and it's all presented in a clean, consistent manner
with convenient print versions available as well. If you investigate, I do recommend
downloading the full suite. In one case, I found a couple of drag-and-drop demos
that aren't on the website or in the demo index file, but which filled in a functionality
it seemed to lack: Namely, sortable, draggable lists. Those are there, hidden in
the drag/drop demo folder.