Client-side JavaScript for .NET Developers
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.
What Students Think!
Excellent Course! I would recommend it to any .NET developer who wants to learn JavaScript.Matt Johnson - Epiq Systems