| |
| |
| |
A new design for the Web | |
| |
| |
| |
Why Ajax rich clients? | |
| |
| |
| |
The four defining principles of Ajax | |
| |
| |
| |
Ajax rich clients in the real world | |
| |
| |
| |
Alternative to Ajax | |
| |
| |
| |
First steps with Ajax | |
| |
| |
| |
The key elements of Ajax | |
| |
| |
| |
Orchestrating the user experience with JavaScript | |
| |
| |
| |
Defining look and feel using CSS | |
| |
| |
| |
Organizing the view using the DOM | |
| |
| |
| |
Loading data asynchronously using XML technologies | |
| |
| |
| |
What sets Ajax apart | |
| |
| |
| |
Introducing order to Ajax | |
| |
| |
| |
Order out of chaos | |
| |
| |
| |
Some small refactoring case studies | |
| |
| |
| |
Model-view-controller | |
| |
| |
| |
Web server MVC | |
| |
| |
| |
Third-party libraries and frameworks | |
| |
| |
| |
The page as an application | |
| |
| |
| |
A different kind of MVC | |
| |
| |
| |
The view in an Ajax application | |
| |
| |
| |
The controller in an Ajax application | |
| |
| |
| |
Models in an Ajax application | |
| |
| |
| |
Generating the view from the model | |
| |
| |
| |
The role of the server | |
| |
| |
| |
Working with the server side | |
| |
| |
| |
Coding the server side | |
| |
| |
| |
The big picture : common server-side designs | |
| |
| |
| |
The details : exchanging data | |
| |
| |
| |
Writing to the server | |
| |
| |
| |
The user experience | |
| |
| |
| |
Getting it right : building a quality application | |
| |
| |
| |
Keeping the user informed | |
| |
| |
| |
Designing a notification system for Ajax | |
| |
| |
| |
Implementing a notification framework | |
| |
| |
| |
Using the framework with network requests | |
| |
| |
| |
Indicating freshness of data | |
| |
| |
| |
Security and Ajax | |
| |
| |
| |
JavaScript and browser security | |
| |
| |
| |
Communicating with remote services | |
| |
| |
| |
Protecting confidential data | |
| |
| |
| |
Policing access to Ajax data streams | |
| |
| |
| |
Performance | |
| |
| |
| |
What is performance? | |
| |
| |
| |
JavaScript execution speed | |
| |
| |
| |
JavaScript memory footprint | |
| |
| |
| |
Designing for performance | |
| |
| |
| |
Dynamic double combo | |
| |
| |
| |
A double-combo script | |
| |
| |
| |
The client-side architecture | |
| |
| |
| |
Implementing the server : VB.NET | |
| |
| |
| |
Presenting the results | |
| |
| |
| |
Advanced issues | |
| |
| |
| |
Refactoring | |
| |
| |
| |
Type-ahead suggest | |
| |
| |
| |
Examining type-ahead frameworks | |
| |
| |
| |
The server-side framework : C# | |
| |
| |
| |
The client-side framework | |
| |
| |
| |
Adding functionality : multiple elements with different queries | |
| |
| |
| |
Refactoring | |
| |
| |
| |
The enhanced Ajax web portal | |
| |
| |
| |
The evolving portal | |
| |
| |
| |
The Ajax portal architecture using Java | |
| |
| |
| |
The Ajax login | |
| |
| |
| |
Implementing DHTML windows | |
| |
| |
| |
Adding Ajax autosave functionality | |
| |
| |
| |
Refactoring | |
| |
| |
| |
Live search using XSLT | |
| |
| |
| |
Understanding the search techniques | |
| |
| |
| |
The client-side code | |
| |
| |
| |
The server-side code : PHP | |
| |
| |
| |
Combining the XSLT and XML documents | |
| |
| |
| |
Completing the search | |
| |
| |
| |
Refactoring | |
| |
| |
| |
Building stand-alone applications with Ajax | |
| |
| |
| |
Reading information from the outside world | |
| |
| |
| |
Creating the rich user interface | |
| |
| |
| |
Loading the RSS feeds | |
| |
| |
| |
Adding a rich transition effect | |
| |
| |
| |
Additional functionality | |