The Advanced JavaScript course covers programming with the JavaScript language, building web pages that interact with server-side resources and accelerating development with popular application frameworks. Participants will learn how to use JavaScript and related debugging tools within a browser context as well as how to use the web page as a dynamic user interface. This course also covers how to interact with web services to perform business operations and communicate results to a user and how to leverage existing JavaScript frameworks to easily add advanced capabilities to their apps while keeping them cross-platform and cross-browser compatible.

Audience: This course is intended for web designers and developers who wish to learn how create rich web user experiences using the client-side capabilities of JavaScript.
Course Duration: 3 days
Prerequisites:

To benefit from this course, participants should have experience developing with JavaScript and must be familiar with core programming constructs in any language, including branching, looping, variables and functions. Participants should also be familiar with HTML, the basics of HTTP and the DOM. Experience with interactive debugging and more advanced aspects of programming and TCP/IP networking is helpful but not necessary.

Course Objectives:
  • Data types, literals and variables
  • Operators, control structures and functions
  • Building dialog boxes and working with JavaScript objects using the Browser object
  • Navigator, windows frames dynamic images and links
  • Event handling, regular expressions and form validation
  • The JavaScript Document Object Model (DOM), Cascading Style Sheets (CSS) and Dynamic HTML
Course Outline:
  • Brief Review of Difficult JavaScript Topics
    • Scope
    • Closures
    • Events, Capture and Bubbling

 

  • Introduction to jQuery and jQuery UI
    • Widgets (buttons, dialogs, etc.)
    • Implementing Drag and Drop UIs

 

  • JavaScript and Graphics
    • Raster Graphics with Canvas API
    • Vector Graphics with SVG and Raphael
    • Creating Charts and Graphs in HTML with gRaphael and dojox.charting

 

  • More HTML5 APIs
    • Persisting Data with Local Storage
    • Geolocation Services
    • Future of AJAX/Comet with Web Socket
    • Background JavaScript Tasks with Web Workers
    • Future of Crossdomain Messaging
    • Creating Offline Apps

 

  • JavaScript Software Engineering Techniques
    • The Feature Detection Pattern and Modernizr
    • Organizing Code for Large JS Projects
    • Unit and Functional Testing
    • Testing of Async Interactions
    • Developing with JavaScriptMVC