1. Rethinking the web application
Chapter 1. A new design for the Web
1.1.1. Comparing the user experiences
1.1.3. Asynchronous interactions
1.2. The four defining principles of Ajax
1.2.1. The browser hosts an application, not content
1.2.2. The server delivers data, not content
1.2.3. User interaction with the application can be fluid and continuous
1.3. Ajax rich clients in the real world
Chapter 2. First steps with Ajax
2.2. Orchestrating the user experience with JavaScript
2.3. Defining look and feel using CSS
2.4. Organizing the view using the DOM
2.4.1. Working with the DOM using JavaScript
2.5. Loading data asynchronously using XML technologies
2.5.2. XmlDocument and XMLHttpRequest objects
2.5.3. Sending a request to the server
Chapter 3. Introducing order to Ajax
3.1.1. Patterns: creating a common vocabulary
3.2. Some small refactoring case studies
3.2.1. Cross-browser inconsistencies: Façade and Adapter patterns
3.2.2. Managing event handlers: Observer pattern
3.2.3. Reusing user action handlers: Command pattern
3.2.4. Keeping only one reference to a resource: Singleton pattern
3.4.1. The Ajax web server tier without patterns
3.5. Third-party libraries and frameworks
3.5.1. Cross-browser libraries
Chapter 4. The page as an application
4.2. The View in an Ajax application
4.3. The Controller in an Ajax application
4.4. Models in an Ajax application
4.5. Generating the View from the Model
4.5.1. Reflecting on a JavaScript object
Chapter 5. The role of the server
5.1. Working with the server side
5.2.1. Popular implementation languages
5.2.3. Maintaining client-side and server-side domain models
5.3. The big picture: common server-side designs
5.3.1. Naive web server coding without a framework
5.3.2. Working with Model2 workflow frameworks
5.4. The details: exchanging data
5.4.1. Client-only interactions
5.4.2. Introducing the planet browser example
5.4.3. Thinking like a web page: content-centric interactions
5.4.4. Thinking like a plug-in: script-centric interactions
5.4.5. Thinking like an application: data-centric interactions
Chapter 6. The user experience
6.1. Getting it right: building a quality application
6.2. Keeping the user informed
6.3. Designing a notification system for Ajax
6.4. Implementing a notification framework
6.4.1. Rendering status bar icons
6.5. Using the framework with network requests
6.6. Indicating freshness of data
7.1. JavaScript and browser security
7.1.1. Introducing the “server of origin” policy
7.1.2. Considerations for Ajax
7.2. Communicating with remote services
7.3. Protecting confidential data
7.4. Policing access to Ajax data streams
8.2. JavaScript execution speed
8.2.1. Timing your application the hard way
8.3. JavaScript memory footprint
8.4. Designing for performance
Chapter 9. Dynamic double combo
9.1.1. Limitations of a client-side solution
9.2. The client-side architecture
9.3. Implementing the server: VB .NET
Chapter 10. Type-ahead suggest
10.1. Examining type-ahead applications
10.2. The server-side framework: C#
10.3. The client-side framework
10.4. Adding functionality: multiple elements with different queries
10.5.1. Day 1: developing the TextSuggest component game plan
10.5.2. Day 2: TextSuggest creation—clean and configurable
10.5.4. Day 4: handling events
Chapter 11. The enhanced Ajax web portal
11.2. The Ajax portal architecture using Java
11.4. Implementing DHTML windows
11.4.1. The portal windows database
11.5. Adding Ajax autosave functionality
11.6.1. Defining the constructor
11.6.2. Adapting the AjaxWindows.js library
11.6.3. Specifying the portal commands
Chapter 12. Live search using XSLT
12.1. Understanding the search techniques
12.1.1. Looking at the classic search
12.1.2. The flaws of the frame and pop-up methods
12.3. The server-side code: PHP
12.4. Combining the XSLT and XML documents
Chapter 13. Building stand-alone applications with Ajax
13.1. Reading information from the outside world
13.2. Creating the rich user interface
13.4. Adding a rich transition effect
13.4.1. Cross-browser opacity rules
13.5. Additional functionality
13.6. Avoiding the project’s restrictions
Appendix A. The Ajax craftsperson’s toolkit
A.1. Working smarter with the right toolset
A.1.1. Acquiring tools that fit
A.4.1. Using the Mozilla DOM Inspector
Appendix B. JavaScript for object-oriented programmers
B.2.1. Building ad hoc objects
B.2.2. Constructor functions, classes, and prototypes
B.2.3. Extending built-in classes
B.2.4. Inheritance of prototypes
B.3.1. Functions as first-class citizens
B.3.2. Attaching functions to objects
B.3.3. Borrowing functions from other objects
Appendix C. Ajax frameworks and libraries
Ajax JavaServer Faces Framework
CPAINT (Cross-Platform Asynchronous Interface Toolkit)
Flash JavaScript Integration Kit
3.136.236.17