Datasheet
Figure 1-2
Charting the Landscape
With such a user requirement, you have numerous ways to reach your goal. The first big decision to
make is the technical architecture. Client side, the obvious choice for this book is Ajax. The term Ajax
used to be an acronym for Asynchronous JavaScript and XML, but it is now used to designate a whole
set of techniques to develop rich web applications using today’s browsers, and Ajax no longer always
uses XML nor asynchronous exchanges.
You learn more about Ajax in Chapter 3. Other options include using Flash (which isn’t covered in this
book) and alternative technologies such as XUL, Open Lazlo, and XAML, which are described in
Chapter 5 and 6.
After having decided that BuzzWatch relies on JavaScript client side, you need to choose which Ajax
libraries you want to rely on. With more than one hundred libraries around, this isn’t the easiest part of
the job! BuzzWatch has set its choice on the Yahoo! User Interface (YUI) for a couple of reasons: this API
is still relatively small but it covers most of what you need when developing Ajax applications. It can be
used both to add action to existing (X)HTML elements and to add totally new content and controls to
your application. YUI is also well documented, actively maintained, and has a lively mailing list to
which you can post your questions. In addition to YUI, BuzzWatch uses JKL.ParseXML, a library that
avoids the tedious job of using the DOM API to parse and create XML documents.
A big benefit of libraries such as the YUI is that they hide most of the differences between the JavaScript
implementations available in modern browsers. Most Web 1.0 scripts include a huge number of tests
that check browser types and versions to behave differently. The YUI probably includes quite a number
4
Chapter 1
04_087889 ch01.qxp 5/2/07 12:56 PM Page 4