AJAX1 - Mastering AJAX (Asynchronous JavaScript and XML )
This course teaches AJAX and all of its foundational technologies. XHTML and CSS2 are covered in details. Students will also learn the HTML Document Object Model (DOM) and how to manipulate a page dynamically in the client side using JavaScript. The AJAX API is covered in details. Students will also learn how to build their own AJAX based framework which will help them write complex applications quickly.
Introduction
What is AJAX
The purpose of AJAX
Sample problems and solutions
The basic programming API
The basic architecture of an AJAX based application
How MVC is implemented
Option 1: View and Controller in browser
Option 2: View in server, Controller in browser
XHTML
What is XHTML?
Why use XHTML?
Basic document structure
The MIME content type
Common tags and attributes.
Browser support
Difference from HTML
Introduction to CSS2
What is a stylesheet?
Why CSS2 is important for AJAX ?
Defining styles
In a separate file
Within a web page
Rendering XML using CSS2
Basic syntax and examples
Selector
Declaration block
Comments
The CSS2 processing model
Basic data types
Lengths
Percentage
URI
Counters
Colors
Angles
Times
Basic properties
Font
Colors
Visibility
Text alignment
Text decoration and shadow
The box model
JavaScript Document Object Model
What is Document Object Model
What is DHTML and why we need them
Manipulate structure and style of an XHTML document
How DHTML is used by AJAX
The Document object
The document variable
Properties
Methods
Element object reference
Properties
Methods
Event handlers
Manipulating styles
The Style object
Properties
Basic AJAX API
The request object
The beginning - Microsoft's IXMLHTTPRequest object
Mozilla's nsIXMLHttpRequest and its relation to IXMLHTTPRequest
Instantiating the request object
Request object reference
Properties
Method
Incompatibility between IXMLHTTPRequest and nsIXMLHttpRequest.
Example: Making a simple GET request
Making POST requests
Error handling
Security issues
Making multiple requests
Advanced JavaScript Document Object Model
HTML Element reference
What are HTML elements
Inheritance from Element
Core properties
The Link element
The Form element
The Select element
The Option element
The Input element
The Text Area element
The Table element
The Table Column element
The Table Row element
The Table Cell element
The Event object
Writing an event handler
Event object properties and methods
Advanced CSS2
Selector details
Selectors
Attribute based selectors
Pseudo classes
Pseudoelements
Inheritance of styles
Visual formatting model
Controlling box generation
Positioning schemes
Normal flow
The float property
Absolute positioning
Layered presentation
Rendering tables
Communication with the server
Why and when an AJAX application needs to communicate with the server.
Simple communication options
Plain HTML
XML
RPC options
SOAP Web Service
JSON
DWR
Building an AJAX Framework
Object Oriented JavaScript
Defining classes
Using classes
Why use OO based JavaScript?
Writing OO Ajax application
Example: Writing Yahoo Maps AJAX application.
Example: Simple OO AJAX Application
Third Party AJAX Frameworks
DOJO
Microsoft Atlas
Google Web toolkit
Best practices and Anti-patterns
AJAX best practices
Anti-patterns