Datasheet

of these tests, but it takes the burden off the shoulders of application developers. You will still need to
test your scripts very frequently against different browsers to use JavaScript features that work on all of
them, but cases where you need to test and write different instructions depending on the browser
become exceptional. The BuzzWatch application has only one such test.
Although a lot of emphasis is put on JavaScript, Ajax applications rely heavily on equally important
technologies, which are:
XML (Extensible Markup Language), a technology that has become the lingua franca used to
exchange data over the Internet. You learn more about XML and its alternatives in Chapter 8.
HTML (HyperText Markup Language) or its XML flavor XHTML, the markup language used
to publish documents on the Web from its very beginning. You learn more about HTML in
Chapter 2.
CSS (cascading style sheets), a simple mechanism used to define the presentation of HTML and
XML document. CSS is covered with HTML in Chapter 2.
HTTP (Hypertext Transfer Protocol), the main application protocol used to communicate
between Web clients and servers. HTTP by itself is covered in Chapter 7, and using HTTP to
exchange XML documents is detailed in Chapter 11.
URIs (and URLs), the identifiers that are the names and addresses of web resources. You learn
more about URIs in Chapter 7.
The formats used by sites such as del.icio.us and Yahoo! Finance to publish their headlines are XML for-
mats know as syndication formats. You will learn everything about these formats in Chapter 9 and see
how you can create your own syndication channels in Chapter 14.
Like any client server application, Web 2.0 applications have also a server side, and the choice of technolo-
gies to use server side is even more open than client side. As a developer, you cannot impose a specific
environment or browser client side; you must count on what is installed by your users and that’s often a
severe restriction. Server side, on the contrary, you or your organization decide which platforms, operating
system, programming language, frameworks and libraries will be used. The choice that has the most
impact on the architecture of your application is usually the programming language. Server side, any pro-
gramming language can be used to implement Web applications and popular choices include scripting
languages such as PHP, Perl, Python, and Ruby and interpreted languages such as Java and C#.
BuzzWatch has decided to use PHP. This doesn’t mean that the authors of this book believe that PHP is a
better language, and in the course of the book we try to be as agnostic as possible and provide examples
using a number of different programming languages. The choice for this first example had to be a lan-
guage easy to read and install in case you want to try it for yourself and, because of its wide acceptance,
this is a domain where PHP really shines.
Being a modern application, BuzzWatch uses the latest version of PHP, PHP version 5, which comes with
much improved support for XML. To cache the information gathered from external sources, BuzzWatch
relies on the Pear package named Cache_Lite (Pear is a PHP package repository similar to Perl’s CPAN).
To make things easier to install and administer and avoid relying on an external database, BuzzWatch is
also using the PHP SQLite module (SQLite is a zero-admin embedded SQL database) to store its data.
5
Hello Web 2.0 World
04_087889 ch01.qxp 5/2/07 12:56 PM Page 5