Ajax Advanced Course

Course Code: IN 628
Course Abstract:

This course provides participants with advanced coverage and hands-on exercises using the latest and most common Ajax tools, frameworks, and design patterns implemented today.  The course begins with coverage of Advanced JavaScript topics, ensuring a better understanding of one of the most misunderstood programming languages. A discussion of how to incorporate front-end testing into the development lifecycle and a look at JSUnit and Selenium follows.  In this course, Ajax-based model-view-controller, caching, state patterns, throttling, aggregation, scheduling, client-server decoupling patterns, as well as cross-domain communication are explored.  There is also an examination of how to write efficient, safe, and fast code for the browser.  Participants will look at several libraries along the way, including Dojo, Prototype, jQuery, ExtJS, and YUI.  Participants will take a look at practical implementations of AJAX in use and also undertake a project building an AJAX driven wiki.

Audience:

This course is designed for participants already familiar with HTML, CSS, JavaScript, and Ajax basics who are interested in taking their JavaScript and AJAX skills to the next level.

Duration: 2 days
Learning Outcomes:

This course teaches participants to build rich client web-based interfaces using common frameworks such as Prototype, YUI, and Dojo.  Participants learn how to take control of the browser, to create cross-browser, platform-neutral implementations.

Course Topics:

Advanced JavaScript Topics
Strict Type Checking
Variable Scoping
Encapsulation in JavaScript
Closures
Overloading with JavaScript
JavaScript Objects: Constructor/Prototype Hybrids
Object Literals
Inheritance
Namespaces
Achieving Inheritance via Dojo, YUI, ExtJS
Extending the DOM
Object Augmentation
Writing Better JavaScript

Ajax Requests and Frameworks
Using XHRs
Ajax and Prototype
Ajax via JavaScript Libraries
XHR Limitations
IE-Specific XHR Limitations
Mozilla Issues with XHRs
Writing Cross-Browser Implementations
IE vs.W3-Based Browsers
Normalizing Events
CSS using the Libraries
Manipulating the DOM
Deciding on Output Formats: XML, HTML, JSON
Cross-Domain Proxies     
Incorporating a Dynamic Script Tag (JSON-P) 
Using IFrames
IFrames as a Transport Mechanism   
Handling File Uploads 

Ajax in Action
Making Multiple Requests
Request Queuing
Dependent Responses
Aborting Requests
Forms and Event Handling
Passing Parameters
Rolling Forms 

Unit Testing on the Front-End
Incorporating JSUnit
Strategies for testing with Selenium
Firebug    
Logging    
Log4JS 

Caching Requests
Passive Caching 
Choosing Cache Keys     
Finite vs. Infinite Caching
Predictive Caching      
Type Ahead Suggests      
Improving Client-Server Performance  
Caching Requests with Dojo
Caching with YUI 
    
JavaScript Libraries: Components with Dojo, YUI, ExtJS
Using Widgets with JavaScript Libraries
Creating Widgets
Form Controls
ComboBoxes and Ajax
Introducing Drag-and-Drop
DataTable or Grid Widgets

Enhancing Performance and Security
        
How the DOM Loads
Executing Code as Early as Possible
onAvailable
Code Optimization
Dealing with Browser Memory Leaks
Code Compression and Verification Techniques
Code Obfuscation      
Overview of Security Threats 
Cross-Site Scripting Attacks
Data Injection Issues
Applying a Sound Front-End Security Model

Prerequisites:

Strong HTML and JavaScript knowledge is required.  Knowledge of Ajax, OO JavaScript, and CSS is required.  While the server-side discussions are Java-based, it is helpful to understand Java EE components such as servlets and JSPs, but not necessary.  Server-side implementations are pre-written to minimize Java knowledge needed.

Note: All fields are required
At the present time we do not offer training for individuals or groups less then 6 individuals. We apologize for any inconvenience.


We Value Your Privacy!

Ready to get started or in need of more information? Contact us today.

Go To Blog Virtual Learning