|  |
 |  |
| |
 |
 |
|
Mastering AJAX Techniques
|
|
Duration:
5 Days
|
|
|
This course is designed for Web application developers and professionals:
-
Architects
-
Designers
-
Consultants
-
Developers
-
Technical managers
| |
|
|
|
Description
|
If you are
used to some of the newer Web 2.0 sites like Google maps, Yahoo mail, etc.,
you must have noticed the slick UI features like dynamic page refreshing,
drag and drop, etc. What is happening behind the scenes is a new way of
building Web applications that has taken the internet by storm. AJAX
(Asynchronous JavaScript and XML) capitalizes on the browser's ability to
asynchronously communicate with the web server simply by building on
existing JavaScript and XML technologies.
We start the course with an in-depth coverage of JavaScript and CSS.
This will lead into the introduction of AJAX fundamentals.
After looking at how AJAX works, this course will cover the techniques,
frameworks, and tools that help build professional AJAX-based Web
applications. More than 60% of the time will be spent on hands-on
labs. We will discuss both the client-side and server-side technologies involved.
This course looks at several popular toolkits and frameworks, including
Prototype, Dojo, YUI, JSON-RPC for Java, DWR (Direct Web Remoting), GWT (Google Web Toolkit),
etc. to build AJAX applications.
|
|
Objectives
|
This course aims to teach a set of advanced skills for implementing
practical, industrial-strength AJAX solutions. On completion,
attendees would be able to:
-
Get a working knowledge of JavaScript fundamentals
-
Get familiar with Cascading Style Sheets usage
-
Understand how AJAX works
-
Use basic AJAX techniques to build a better web user experience
-
Use Prototype, Dojo and YUI library components
-
Understand what server-side AJAX frameworks are
-
Discover some of the popular server-side AJAX frameworks
-
Compare and contrast between XML and JSON data types
-
Use the JSON-RPC-Java bridge to build and invoke server-side Java
components
-
Use the DWR framework to allow Javascript in a browser to interact
with Java on a server
-
Use Google Web Toolkit (GWT) to write both client and server-side components in Java
|
|
Course Outline
|
Introducing AJAX
-
Life Before AJAX
-
What, Why and How of AJAX
-
Overview of DOM
-
Your first AJAX application
JavaScript Basics
-
Adding JavaScript to HTML
-
Data types, Operators, Control Structures
-
Functions, Methods, and Events
-
Throw, Try...Catch Exceptions
-
Objects
-
Browser Object Model, Document Object Model
-
Regular Expressions
-
Client-side Validation
Advanced JavaScript
-
Interactive Forms and Verifying Form Data
-
Targeting Frames and Windows with JavaScript
-
Cookies and JavaScript Security
-
Custom JavaScript Objects
-
Prototype and Object Inheritance
-
Closures in JavaScript
-
Debugging JavaScript
-
CSS Basics
Basic AJAX Techniques
-
XMLHttpRequest
-
Browser Compatibility
-
Asynchronous Invocation
-
Handling XML
-
DOM APIs: Nodes, Methods
-
InnerHTML
-
A Complete AJAX Example
Data Formats for AJAX
-
XML, the Benefits
-
SOA: XML is Everywhere
-
XML Shortcomings
-
JSON Data Types
-
JSON Strings, Numbers, Arrays
-
JSON Objects
-
JSON and JavaScript
The Prototype Toolkit
-
Shortcut Functions
-
String Utilities
-
Collections
-
Ajax Objects: Request, Updater, PeriodicUpdater
The YUI Toolkit
-
Using YUI
-
Head first YUI Example
-
Event Utility
-
Element Utility
-
Widgets: Buttons, Menu, Forms
-
Connection Manager
-
The YUI Compressor
The Dojo Toolkit
-
Dojo Overview
-
Dojo Event Model
-
Dijits
-
Form Widgets
-
Control Widgets
-
Layout Widgets
-
XHR Handlers
-
Dojo and JSON
-
Dojo Data Stores
| |
Overview of Server-Side AJAX Frameworks
-
Serving AJAX Content from the Server
-
Redistributing MVC Across the Tiers
-
Popular Server-side AJAX frameworks
Web Protocols for AJAX
-
Web services and SOA
-
REST: A lightweight Web service solution
-
Introducing Comet
-
Comet: Streaming and Long Polling
-
The Bayeux protocol
-
Bayeux protocol handshake, events
-
Bayeux connection and subscription
-
Web feeds: RSS and ATOM
JSON-RPC for Java
-
How does JSON-RPC-Java work
-
JSONRPCBridge and Global bridge
-
JSONRPCServlet
-
Type mapping
-
JavaScript client
Direct Web Remoting
-
How does DWR work
-
Setting up web.xml and dwr.xml
-
Callback methods
-
Scripting with generated JavaScript
-
Integration with servlet, Struts, etc.
-
Error handling
-
Security issues with DWR
Google Web Toolkit
-
How does GWT work?
-
GWT compiler
-
Hosted and Web Modes
-
Client-side and Server-side code
-
Modules
-
Building user interfaces with GWT
-
Remote Procedure Call in GWT
AJAX Security
-
The Browser Sandbox
-
The Vulnerabilities
-
Javascript Injections: XSS, CSRF
-
SQL Injections
-
Client-side v.s. Server-side Validation
-
Tips and Best practices
Advanced Concepts
-
Some Design Patterns and Anti-patterns
-
Case Studies
-
Thoughts on Performance Issues
|
|
|
|