Advanced Front-End Engineering using Ajax 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 by exploring popular tools for easier front-end application development and popular frameworks which help create solutions that avoid lots of low-level coding.  Heavy use of design patterns is at the heart of this course, invoking over 50 patterns in various ways to solve problems.  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.
Audience:

This course is designed for participants already familiar with HTML, CSS, JavaScript, and Ajax basics.  Due to the short amount of class time, this course does not cover JavaScript OO concepts, Ajax basic principles, creation of an Ajax Library, validation techniques, JSON fundamentals, DOM and CSS manipulation, and event handling.  Please refer to the course entitled, Front-End Engineering with Ajax for proper coverage of these topics.

Duration: 2 days
Learning Outcomes: Upon completion of this course participants will build a rich client web-based interface using common frameworks such as prototype, script.aculo.us, and DWR to yield advanced effects such as zooming, sliding, and drag-and-drop.  These effects are incorporated with Ajax and CSS to create a web-based windows look-and-feel.
Course Topics:

Ajax Requests, Frameworks, and Tools
An XHR Utility
Using the Prototype Library  
Script.aculo.us
Dojo
YUI
GWT     
DWR  
XHR Limitations
IE-Specific XHR Limitations
Mozilla Issues with XHRs
Making Multiple Requests
Request Queuing
Dependent Responses
Aborting Requests
Passing Parameters
Rolling Forms
Aptana and Eclipse   
Firebug    
Logging    
Browser Plug-ins
Log4JS    
JSUnit and Testing Environments 
   
Advanced JavaScript Topics
Strict Type Checking
Overloading in JavaScript
Variable Scoping
Closures
Currying
JavaScript Objects: Constructor/Prototype Hybrids
Object Literals
Inheritance
Private Variables and Functions
Achieving Inheritance via Libraries
Namespaces

Advanced Client-Server Communication
Cross-Domain Proxies     
Incorporating a Dynamic Script Tag        
Server-to-Client Status Updates (Server Push)  
Periodic Updates     
Mashups
REST Solutions       
Designing REST-based content URLs
  
Caching
Passive Caching 
Choosing Cache Keys     
Finite vs. Infinite Caching
Predictive Caching      
Type Ahead Suggests      
Improving Client-Server Performance   
      
Maintaining State     
Handling Back Buttons in Applications
window.location and window.history    
Various Back Button Solutions     
Using Libraries to Implement Back Button Solutions    

Ajax in the Browser     
XML vs. JSON
Handling XML in Different Ways
Client-Side XSLT
XML-to-JSON Conversions 
Using IFrames
IFrames as a Transport Mechanism   
Handling File Uploads    
Multi-stage Downloads    
   
Enhancing Performance and Security  
Request Throttling     
Optimizing JavaScript     
Dealing with Browser Memory Leaks  
How the DOM Loads
Code Compression and Verification Techniques
Code Obfuscation      
Security Treats    
Cross-Site Scripting Attacks
Data Injection Issues


 

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
We Value Your Privacy!

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

Go To Blog