Apply Your Skills to the Web

Building compelling sites that work across devices is the new black. For existing .NET developers, this can be a challenge to understand the differences between JavaScript and .NET. If this is you, this course is for you.

In this 3-day course, we will show you how to develop rich applications in the browser, architect your JavaScript code and how to create relevant single page applications.

Outline

Introducing JavaScript
  • HelloWorld.js
  • Hello Debugging
  • Comparing the CLR and JavaScript
  • Just-in-time Compilation
  • Garbage Collection
  • Strong and Loose Typing
  • ECMAScript, JavaScript and JScript Explained
JavaScript Type System
  • Basic Language Elements
  • Type System
  • Primitives
  • Objects
  • Arrays
  • Object and Array Creation
  • Dynamic Objects versus Classes
  • Functions as a DataType
  • Closures
HTML Basics
  • What is HTML
  • XML versus HTML
  • The Box Model
  • The DOM
  • Tags
  • Forms
  • What is new in HTML5
  • Why HTTP is different
  • What is SSL
Object Oriented JavaScript
  • OOP in JavaScript
  • Classes and Pseudo-Classes
  • Inheritance in JavaScript
  • Understanding the Prototype Object
  • Module Pattern
  • Revealing Module Pattern
  • Prototype Pattern
  • Revealing Prototype Pattern
Client-Side Architecture
  • The Problem
  • Packaging JavaScript
  • Namespaces in JavaScript
  • Namespace Pattern
  • Using the Module Pattern (AMD)
  • Minification Strategies
Introducing jQuery
  • Including jQuery
  • Using the Selector Syntax
  • Working with jQuery Collecitons
  • Common jQuery Techniques
  • Handling events with jQuery
  • Manipulating the DOM with jQuery
  • jQuery Animations
  • jQuery Ajax
jQuery Plugins
  • Finding Plugins
  • jQueryUI
  • jQueryUI Themes
  • jQueryUI Widgets
  • Validation
  • Unobtrusive Validation
  • Popular Plugins
Data Binding with KnockoutJS
  • What is KnockoutJS
  • Using Data Binding
  • Client-side Templating
  • Using Models
  • Round-tripping Objects
  • Using View Models
  • Using Observables
  • Calculated Observables
  • Creating Your Own Bindings
  • Throttling Knockout
Single Page Applications
  • Why SPA?
  • Using Navigation and History
  • Navigation with Sammy.js
  • Messaging with Amplify.js
  • Using Local Storage
  • Best Practices with SPA

Course Info

Length:
3 days

Prerequisites:
This course is specifically for .NET developers and builds on existing C# and VB.NET skillsets.

Printable Course Outline

What Students Think!

Excellent Course! I would recommend it to any .NET developer who wants to learn JavaScript.
Matt Johnson - Epiq Systems