JavaScript/TypeScript Training Resources

31 July 2016 - TypeScript

Introduction

We regularly do JavaScript and TypeScript trainings. In this blog article I collect important links and demos we typically do during such trainings.

Prerequisites

During our trainings, you have to have recent versions of the following software installed:

I recommend to have recent versions of the following software installed on your development machine:

I recommend to have accounts for the following cloud services:

JavaScript Basics

Embedded vs. External Scripts

Data Types

DOM Access

Truthy, Falsy, Operators

Statements and Declarations

Objects

Arrays

Functions

Object Model

Note that we do not write JavaScript code for constructor functions, inheritance, modules, etc. in JavaScript during the course. TypeScript will care for that. However, we write TypeScript code and discuss the resulting JavaScript for target ES5 and ES2015.

Read more about JavaScript’s object model

Further Readings

TypeScript

Working With Types

Working With Objects

  • Sample: Objects
  • Exercises
    • Discuss code
    • Try IntelliSense and early type checking in VSCode

Interfaces and Classes

  • Sample: Interfaces and Classes
  • Exercises
    • Discuss code
    • Discuss generated JavaScript code (class pattern, inheritance, etc.)
    • Discuss parameter properties
    • Discuss static properties and abstract classes
    • Discuss generics
    • Compare generated JavaScript code for tsc app.ts and tsc app.ts --target ES6 and discuss different TypeScript targets.

Lambdas, Arrow Functions

  • Sample: Lambdas
  • Exercises
    • Discuss code
    • Discuss this capturing in generated JavaScript code
    • Compare generated JavaScript code for tsc map.ts and tsc map.ts --target ES6 and discuss different TypeScript targets.

async/await

Modules

  • Sample: Modules
  • Exercises
    • Discuss code
    • Discuss internal vs. external modules
    • Compile code with tsc app.ts module.ts anotherModule.ts and run it with node app.js
    • Discuss ambient modules (.d.ts) and the typings tool
    • Read details about modules

Loading Modules with System.js

  • Samples: Loader
  • Exercises
    • Discuss code
    • Discuss different loader/packager options (e.g. System.js, Webpack)

Further Readings, Resources

Client-side Development with ASP.NET

OWIN

  • Samples: OWIN
  • NuGet packages
    • Microsoft.Owin.StaticFiles
    • Microsoft.Owin.Host.SystemWeb (for IIS integration)
  • Exercises
    • Discuss code
    • Demo creating OWIN sample from scratch
    • Discuss Gulpfile
      • Show it in Visual Studio Task Runner
      • Discuss NPM scripts as an addition/replacement for Gulp
    • Discuss necessary changes in web.config

ASP.NET Core

  • Samples: NetCore
  • NuGet packages
    • Microsoft.AspNetCore.StaticFiles
  • Exercises
    • Discuss code
    • Demo creating ASP.NET Core sample from scratch
    • Demo running ASP.NET Core sample under Linux

Further Readings