A new design for the Web | p. 3 |
Why Ajax rich clients? | p. 5 |
The four defining principles of Ajax | p. 17 |
Ajax rich clients in the real world | p. 24 |
Alternative to Ajax | p. 28 |
First steps with Ajax | p. 31 |
The key elements of Ajax | p. 32 |
Orchestrating the user experience with JavaScript | p. 34 |
Defining look and feel using CSS | p. 36 |
Organizing the view using the DOM | p. 45 |
Loading data asynchronously using XML technologies | p. 56 |
What sets Ajax apart | p. 65 |
Introducing order to Ajax | p. 69 |
Order out of chaos | p. 71 |
Some small refactoring case studies | p. 77 |
Model-view-controller | p. 91 |
Web server MVC | p. 93 |
Third-party libraries and frameworks | p. 103 |
The page as an application | p. 119 |
A different kind of MVC | p. 120 |
The view in an Ajax application | p. 124 |
The controller in an Ajax application | p. 134 |
Models in an Ajax application | p. 143 |
Generating the view from the model | p. 147 |
The role of the server | p. 159 |
Working with the server side | p. 160 |
Coding the server side | p. 161 |
The big picture : common server-side designs | p. 164 |
The details : exchanging data | p. 174 |
Writing to the server | p. 193 |
The user experience | p. 211 |
Getting it right : building a quality application | p. 212 |
Keeping the user informed | p. 216 |
Designing a notification system for Ajax | p. 222 |
Implementing a notification framework | p. 226 |
Using the framework with network requests | p. 237 |
Indicating freshness of data | p. 241 |
Security and Ajax | p. 246 |
JavaScript and browser security | p. 247 |
Communicating with remote services | p. 251 |
Protecting confidential data | p. 263 |
Policing access to Ajax data streams | p. 268 |
Performance | p. 279 |
What is performance? | p. 280 |
JavaScript execution speed | p. 281 |
JavaScript memory footprint | p. 302 |
Designing for performance | p. 311 |
Dynamic double combo | p. 327 |
A double-combo script | p. 328 |
The client-side architecture | p. 331 |
Implementing the server : VB.NET | p. 334 |
Presenting the results | p. 339 |
Advanced issues | p. 343 |
Refactoring | p. 345 |
Type-ahead suggest | p. 361 |
Examining type-ahead frameworks | p. 362 |
The server-side framework : C# | p. 366 |
The client-side framework | p. 369 |
Adding functionality : multiple elements with different queries | p. 392 |
Refactoring | p. 392 |
The enhanced Ajax web portal | p. 423 |
The evolving portal | p. 424 |
The Ajax portal architecture using Java | p. 427 |
The Ajax login | p. 429 |
Implementing DHTML windows | p. 439 |
Adding Ajax autosave functionality | p. 448 |
Refactoring | p. 453 |
Live search using XSLT | p. 466 |
Understanding the search techniques | p. 467 |
The client-side code | p. 473 |
The server-side code : PHP | p. 476 |
Combining the XSLT and XML documents | p. 481 |
Completing the search | p. 485 |
Refactoring | p. 491 |
Building stand-alone applications with Ajax | p. 503 |
Reading information from the outside world | p. 504 |
Creating the rich user interface | p. 509 |
Loading the RSS feeds | p. 518 |
Adding a rich transition effect | p. 524 |
Additional functionality | p. 528 |
Table of Contents provided by Blackwell. All Rights Reserved. |