Choose your language:

Hong Kong
New Zealand
United Kingdom
United States

Advanced JavaScript & HTML5 using AngularJS

Course Code



4 Days

Previous work with front-end technologies, CSS, HTML, and JavaScript basics is recommended.
This course provides exposure to front-end architectures, advanced CSS, advanced JavaScript language features, and a survey of HTML5 / CSS3. It provides exposure to techniques used in modern JavaScript application development. This course focuses extensively on object-oriented JavaScript, patterns-based development, use of the jQuery JavaScript library, MVC architectures, and other supporting libraries.

The JavaScript discussions include coverage of the use of prototypes, object creation, object literals, inheritance, techniques for creating namespaces, libraries, closures, best practices, cross-browser design, and application-level design considerations.

The HTML5 content provides a concise overview of the new capabilities of HTML5 markup, CSS3, and JavaScript features (to include ECMAScript 5 features). Important in the discussions of each of these technologies are the recommended best practices for handling them within practical applications and in cross-browser, cross-platform environments.
This course is designed for front-end developers and developers interested in the latest browser-based, front-end APIs.
Enterprise JavaScript Introduction
Layered Architectures
Enterprise JavaScript Architectures
MV* Frameworks
Developing in Team Environments
Incorporating Build Systems
Semantic HTML
Progressive Enhancement
Browser Rendering Modes
Cross-Browser Development
Firebug Overview
Chrome Developer Tools
IE Developer Tools

Unobtrusive JavaScript & jQuery
DOM Scripting
Rules for Writing Unobtrusive Code
Events and Cross-Browser Issues
Handling Events and the Event Object
Event Bubbling and Capturing
Stopping Event Propagation
Event Delegation
Preventing the Default Action
Introducing JavaScript Libraries
The jQuery Object
Using jQuery and Selectors
DOM Manipulation with jQuery
Event Bubbling/Delegation
jQuery Core Animation Effects
Creating Widgets from Scratch
Introducing to jQueryUI
Using the Download Builder
Accordions and Tabs
Dialogs, Tooltips, and Effects
Ajax and jQuery
jQuery Best Practices

JavaScript Advanced Function Techniques
The ECMAScript Standard
Declaring Functions
Function Literal Notation
The Function Object
Variadic Functions
Advanced Argument Passing
Variables and Scope
Overloading Issues
The Global Namespace

Object-Oriented JavaScript
Introducing Object-Oriented JavaScript
Object Creation and Default Properties
Understanding Object Prototypes
Object Literals
Self-Executing Functions
Private and Privileged Properties
Pseudo-private Properties
JavaScript and Interfaces
The Module Pattern
Defining Application Modules

Setting Up an Angular Environment
The Angular ($) Namespace
Incorporating Data Binding
Using Templates
The Templating Syntax and Expressions
ng-app and Root Scope
Applying Model Data to Templates
What is a Directive?
Angular Compilation
The Page Load (Compliation) and Runtime Phases
Creating Controllers
Defining Angular Modules and Dependency Injection
Declaring and Injecting Services
Model Modifications and $apply
Using $scope to Coordinate Models
Declaring Filters
Applying CSS and Validation Features
Angular Best Practices for Services, DI, Controllers, Views
Testing Controllers and Services

Unit Testing
Using Jasmine
Setting up Spec Suites
Using the Angular Scenario Runner
Creating Specs
Viewing Test Results

Ajax Techniques
Working with the XHR
XHR Limitations
Cross Domain Requests
Dynamic Script Tags
jQuery and JSON-P
Using HTML5 CORS for Cross-Domain

Presenting Layered Architectures with CSS
Contextual Selectors
Shorthand Notations
Attribute Selectors
Determining Cascade Order
CSS Inheritance
Text Properties
Background Properties
CSS Box Model, Positioning, Visual Formatting
Setting Borders and Margins
Special Styles and Colors
Box Paddings
IE vs. W3C Box Model Differences
Block vs. Inline Styles
Absolute Positioning
Relative Positioning
Floating Elements
Laying out Pages
Clearing Elements
Improving Design

HTML5 Markup
HTML5 Markup and Non-conforming Browser
What is the HTML5 Shim?
Policies and Practices regarding an IE Shim
HTML5 Feature Detection
Incorporating Modernizr
The New Semantic Structural Elements
Additional New Markup Elements
New Forms Controls and Capabilities
Canvas API
Issues / Limitations using Canvas

CSS3 Selectors
New Color Support
Rounded Corners
Drop Shadows (Box and Text)
Borders and Images
Performance Enhancements

CSS Frameworks
Twitter Bootstrap for CSS
Bootstrap Base CSS for Text, Forms, Tables
jQueryUI Theming
Setting up a SASS environment
Using Nested Rules
Incorporating Variables and Mixins
SASS Inheritance

Local Storage
Application Cache
Using CSS Media Queries
jQuery File Upload API
Using Drag and Drop APIs
History API
Touch Events

Appendix (Optional)
Send Us a Message
Choose one