Essential TypeScript 2.0 with Visual Studio Code

5 Day Course
Hands On
Code GK4544

Book Now - 1 Delivery Method Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online

Overview

TypeScript is a superset of JavaScript that compiles to plain JavaScript that can run in any browser and on any platform.  It supports the latest JavaScript features, including those from ECMAScript 2015, as well as proposed features from future JavaScript versions, such as decorators and async / await.  But what makes TypeScript ideal for large web applications is the addition of optional type annotations, which allow developer tools to provide intellisense and syntax checking, so that errors are caught at compile-time instead of at run-time. This course provides in-depth coverage of TypeScript, including language syntax, object-oriented and asynchronous programming, and how to organize your code using namespaces and modules.  You will also learn to use Visual Studio Code, Microsoft’s lightweight cross-platform code editor, to build RESTful services in TypeScript with Node.js, as well as responsive client applications with Angular 2, which is itself written in TypeScript.

Note: You may use your own laptop with Windows, OS X or Linux.

Objectives

  • Compile TypeScript to JavaScript with support for intellisense and debugging
  • TypeScript syntax for variable declarations, non-nullable types, operators and flow control statements
  • Tips and tricks for using Visual Studio Code to build TypeScript applications
  • Configure Visual Studio Code for task automation with Gulp
  • Lint and compile TypeScript code with extensions for Visual Studio Code
  • Write unit tests in Jasmine for behavior and test driven development
  • Use Karma for Continuous Integration to run unit tests as part of a build process
  • TypeScript type system, union and intersection types, type guards and string literal types
  • Arrow functions, function overloading, optional, default and rest parameters
  • Asynchronous programming with promises, generators and async / await
  • Object-oriented programming with interfaces, classes, inheritance and class expressions
  • Algorithm reuse with generic interfaces, classes and functions with generic constraints
  • Namespaces and modules with support for various module loaders, including ECMAScript 2015 modules
  • Build RESTful services in TypeScript with Node.js and Express
  • Build Single Page Applications (SPA’s) in TypeScript using Angular 2

Target Audience

Developers who want to build client or server JavaScript applications using TypeScript with Visual Studio Code for improved productivity with intellisense, debugging and code refactoring.

Training Partners

We work with the following best of breed training partners using our bulk buying power to bring you a wider range of dates, locations and prices.

Modules

Hide all

Introduction to TypeScript (7 topics)

  • History and Importance of JavaScript
  • JavaScript Strengths, Weaknesses
  • Limitations of JavaScript
  • Advantages of TypeScript
  • TypeScript Design Goals
  • Installing TypeScript
  • Getting Started

TypeScript Language Basics (7 topics)

  • Declaring Variables
  • Basic Types
  • Type Annotations
  • Non-Nullable Types
  • Basic Data Structures
  • Operators
  • Flow Control Statements

Using Visual Studio Code for TypeScript Development (10 topics)

  • Tooling Options
  • VS Code Features
  • Limitations
  • Project System
  • Navigation Basics
  • Productivity
  • JavaScript Intellisense
  • Configuring TypeScript Projects
  • Compiling TypeScript
  • Debugging

Task Automation, Unit Testing, Continuous Integration (13 topics)

  • Need for Task Automation
  • Task Runners
  • Introduction to Gulp
  • Using Gulp
  • Configuring Build Tasks
  • Debugging Gulp Tasks
  • Testing Approaches
  • Testing Frameworks
  • BDD with Jasmine
  • Running Tests in a Browser
  • Writing Tests in TypeScript
  • Test Runners
  • Continuous Integration

TypeScript Type System (9 topics)

  • Type Compatibility
  • Type Inference
  • Access Modifiers
  • Union Types
  • Type Guards
  • Intersection Types
  • Type Aliases
  • String Literal Types
  • Polymorphic "this" Types

Functional Programming (7 topics)

  • Functional Programming
  • Named Functions
  • Arrow Functions
  • Function Types
  • Optional and Default Parameters
  • Rest Parameters
  • Function Overloading

Asynchronous Programming (6 topics)

  • Importance of Async
  • Callbacks
  • Callback Hell
  • Promises
  • Generators
  • Async and Await

Object-oriented Programming (8 topics)

  • Introduction to Object-Oriented Programming
  • SOLID Principles
  • Interfaces
  • Classes
  • Inheritance
  • Mixins
  • Abstract Classes
  • Class Expressions

Generics (6 topics)

  • Algorithm Reuse
  • Generic constructs
  • Type Parameters
  • Constraints
  • Generic Functions
  • Generic Interfaces and Classes

Namespaces and Modules (10 topics)

  • Name Collisions
  • Namespaces
  • Defining Namespaces
  • Limitations of HTML Script Tags
  • Module Loaders
  • ECMAScript 2015 Module Support
  • Module Organization
  • Exporting from Modules
  • Importing from Modules
  • Module Guidelines

Practical TypeScript with Express and Angular SPA Architecture (12 topics)

  • Introduction to REST
  • Express Framework
  • Routing Basics
  • MV* Architecture
  • Web Client Frameworks
  • Angular 2 Concepts
  • Angular Components
  • Angular Templates
  • Angular Metadata
  • TypeScript Decorators
  • Services and Dependency Injection
  • HTTP Requests

Labs (11 topics)

  • Lab 1: Introduction to TypeScript
  • Lab 2: TypeScript Language Basics
  • Lab 3: Using Visual Studio Code for TypeScript Development
  • Lab 4: Task Automation, Unit Testing, Continuous Integration
  • Lab 5: TypeScript Type System
  • Lab 6: Functional Programming
  • Lab 7: Asynchronous Programming
  • Lab 8: Object-oriented Programming
  • Lab 9: Generics
  • Lab 10: Namespaces and Modules
  • Lab 11: Practical TypeScript with Express and Angular

Prerequisites

Experience with JavaScript or an object-oriented programming language such as Java or C#.

Course PDF

Print

Share this Course

+1
Share

Recommend this Course

Sections