Skip to main content

Professional Web 2.0 Programming

Professional Web 2.0 Programming

Eric van der Vlist, Danny Ayers, Erik Bruchez, Joe Fawcett, Alessandro Vernet

ISBN: 978-0-470-12105-4

Feb 2007

522 pages

Select type: E-Book

Product not available for purchase


Web 2.0 architecture opens up an incredible number of options for flexible web design, creative reuse, and easier updates. Along with covering the key languages and techniques of Web 2.0, this unique book introduces you to all of the technologies that make up Web 2.0 at a professional level. Throughout the chapters, you'll find code for several example applications built with popular frameworks that you'll be able to utilize.

You'll first explore the technologies that are used to create Web 2.0 applications. This includes an in-depth look at XHTML, Cascading Style Sheets (CSS), JavaScript, and Ajax. Next, you'll gain a better understanding of the protocols and formats that enable the exchange of information between web clients and servers. Ultimately, you'll discover exactly what you need to know about server-side programming in order to implement new ideas and develop your own robust applications.

What you will learn from this book

  • How Web 2.0 applications are developed
  • New ways to get the major client-side technologies to work together
  • The new class of emerging tools
  • All about HTTP and URIs, XML, syndication, microformats, and Web Services
  • Techniques for implementing and maintaining your URI space
  • How to serve XML over HTTP
  • Steps for building mashups to aggregate information from multiple sources
  • Methods for enhancing security in your applications

Who this book is for

This book is for professional developers who have a basic understanding of HTML, CSS, JavaScript, and XML.

Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.

This book is also available as part of the 4-book JavaScript and Ajax Wrox Box (ISBN: 0470227818). This 4-book set includes:

  • Professional JavaScript for Web Developers (ISBN: 0764579088)
  • Professional Ajax 2nd edition (ISBN: 0470109491)
  • Professional Web 2.0 Programming (ISBN: 0470087889)
  • Professional Rich Internet Applications: Ajax and Beyond (ISBN: 0470082801)



Chapter 1: Hello Web 2.0 World.

Introducing BuzzWatch.

Charting the Landscape.

Exploring Behind the Scene.

Making BuzzWatch a Better Web Citizen.

Making BuzzWatch More Maintainable.

Applying the Final Touch.


Chapter 2: Page Presentation.

Creating Clean and Simple Pages.


The Document Object Model.

Cascading Style Sheets.



Chapter 3: JavaScript and Ajax.

JavaScript: Understanding Lesser-Known but Crucial Features.

JavaScript Optimizations.



Chapter 4: Design Principles.

Common Design Issues.

Summary 109

Chapter 5: What’s Next for Web 2.0?

XSLT and XPath.



What’s Next for HTML.


Chapter 6: Rich Client Alternatives.

From Browsers to Rich Clients.

Comparing Rich Client Frameworks.


Chapter 7: HTTP and URIs.

How the Web Was Won.

Web 1.0: HTML, URLs, and HTTP.

The Web Model and REST.

Considerations for Building an HTTP Service.

What’s on the Wire?

More Representations.


Chapter 8: XML and Its Alternatives.


Alternatives to XML.


Chapter 9: Syndication.

Some Syndication Basics.

The Syndication Process.

Syndication Formats.


Chapter 10: Microformats.

The Basics of Microformats.

Creating Microformat Documents.


Chapter 11: Combining Protocols to Build Web Services.

Clarifying Web Services.

REST Services.

WS-* Services.

REST versus WS-*.


Chapter 12: Serving XML over HTTP.

How Is Serving HTML Different?

Serving Static Content.

Serving Dynamic Content.

XQuery and XML Databases.

Serving JSON.


Chapter 13: Databases and Non-XML Sources.

Dealing with Non-XML Sources.

Converting Relational Data to XML.

Converting Binary Data to XML.


Chapter 14: Creating Syndication Channels.

A Simple Atom Service.

Running the Application.

Adding E-mail Support.


Chapter 15: Mashups, HTML Scraping, and Web Services.

Popular Examples: Mapping Mashups.

Why Use Mashups?

The Business Model of Mashups.

Screen Scraping.

Creating Feeds.

Mapping and Badges.


Chapter 16: Implementing and Maintaining Your URI Space.

Future-Proofing Your URIs.

Managing Change in Your URI Space.

Your URI Mapping Toolbox.


Chapter 17: Podcasting and Serving Multimedia.

The Formats Labyrinth.



Chapter 18: Security.

What Is Security?

Lessons Learned from History.

The Layered Approach.

Authentication and Authorization.

Message Encryption.

Message Digests.

Digital Certificates.

Secure Sockets Layer.

Code Security.

Web Services Security.



Download Code for Chapter 7 Download
Download Code for Chapter 6 Download
Download Code for Chapter 5 Download
Download Code for Chapter 4 Download
Download Code for Chapter 2 Download
Download Code for Chapter 1 Download
Download Code for Chapter 18 Download
Download Code for Chapter 17 Download
Download Code for Chapter 15 Download
Download Code for Chapter 14 Download
Download Code for Chapter 13 Download
Download Code for Chapter 12 Download
Download Code for Chapter 11 Download
Download Code for Chapter 10 Download
Download Code for Chapter 9 Download
Download Code for Chapter 8 Download
Download Code for Chapter 3 Download
67Errors in Bullet,2nd bullet, first line, last word:

should be:


2nd bullet, line 7:
that the function result only uses

should be:
that the returned function only uses
76Typo, Cons column in table at top, 2nd item, 3rd line:

should be:
95Typos,first ital note paragraph, first sent:

should be:
accessibility and


last paragraph, last line:

should be:
to bear
141Typo,2nd line:

should be:
Opera breaks
18488-9Error in Code,the shaded code at the top has the line:
password = hopeYouCantGuessMe ;

In the text at the top of page 489 it is shown as:
password = ! + token.Password; ;

It should actually be:
password = ! + token.Password;

in both cases.