Typescript Masterclass Part 3 - The Typescript 2 Type System

Vasco Ferreira, Web Development Online Instructor

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
16 Videos (1h 2m)
    • 01. Why the name Typescript ?

      1:41
    • 02. Primitive Types and Type Inference In Action - string, number and boolean

      2:58
    • 03. Object Types and Type Definition - Building Complex Types

      5:05
    • 04. What is a Function Type ? Function Types and Interfaces - Are They Related ?

      4:59
    • 05. Arrays Strong Typings and Tuples - Is there a relation ?

      3:27
    • 06. Typescript Enums - What do They Look at Runtime ?

      2:42
    • 07. Typescript 2 Nullable Types - Avoiding null and undefined Bugs

      6:57
    • 08. Typescript Control Flow Analisys In Action

      1:52
    • 09. Typescript Interfaces vs Aliases Union & Intersection Types

      3:29
    • The Any Type - It Does Not Do What You Might Think It Does

      3:05
    • 11. Understanding Implicit Any

      3:32
    • 12. Typescript 3rd Party Libraries - See Typescript 2 @Types In Action

      6:45
    • 13. Create a Custom Type Definition

      5:19
    • 65 module declarations done

      2:26
    • The Never And Void Types

      3:32
    • Type Compatibility - When is a Type Compatible With Another ?

      3:46

About This Class

Part 3 of The Typescript 2 Masterclass - Enjoy ! Kind Regards, Vasco

Learn the Typescript 2 Language, Build a REST API and query it via an Angular 2 Client. This course covers a complete introduction to Typescript 2, focusing on Functional Programming and Fullstack Development.

We wouldn't be surprised if Typescript get tremendous adoption by the enterprise in the next few years, and at the same time by the web development community. But there is something really unusual about Typescript.

This might have actually happened before maybe with Ruby on Rails, but its likely unique. With Angular 2 and Typescript, we have one of those very rare situations when a framework is actually more popular than the language itself ! Angular 2 has about the double of the search volume than Typescript, and what is stranger is the Angular 2 trend curve is growing faster than Typescript as well.

So what do these trend results mean ? That many of us are finding the language so easy to use when coming from another language that we manage to get by without diving deep into Typescript. And many of us might not have realized just how amazing this language is, and see its true disruptive potential in the enterprise and beyond:

53312e9c

Is Typescript Mostly for Angular 2 ?

No, Typescript is not only for Angular 2, its an amazing programming language, and its latest version Typescript 2 is so feature complete when compared to many other languages, and yet so simple to use.There is great support for both functional and object oriented programming, its all there. In this course we will also cover OO programming but the main focus is on functional programming. How do we make sense of all this huge amount of features? What are the ones that we will be using everyday, vs the ones that we will likely almost never use ? And yet the biggest feature of the language goes beyond the language itself.

Write Once, Run Anywhere ?

Typescript does allow us to do that, and that is maybe the most underrated feature of Typescript. Building the frontend and the backend of an application using completely different languages and ecosystems significantly raises the difficulty of building web applications.We could use Typescript in a Full Stack way, by building our whole application with it. The type safety features and the great tooling like auto-completion and refactoring make Typescript very appropriate for use in enterprise settings, where developers are used to these features since a long time.

We could build our REST API and our database access layer in Node using Typescript, and share some code between the frontend and the backend. And that is exactly what we will be learning in this course !

What You will Learn In This Course ?

We will do a complete introduction to Typescript 2 and to its type system. We will then immediately apply these new concepts to a practical example: we will build a REST API in Node using Express and Typescript, and then we will query a Postgresql relational database using the Sequelize ORM. We will learn how to use Typescript with third party Javascript libraries and still write type safe programs. The goal is to give a theoretical introduction to the language, but then immediately drive home those concepts by applying them to everyday tasks that we will all do in our daily lives as software developers.

Course Overview

The course structure is simple: we will setup the Webstorm IDE step by step, and start introducing Typescript simply as a better Javascript, showing many of the ES6 features that we can use already today. Then we will do a deep dive in the type system and specifically in the features supported by Typescript 2. With this in place we will start writing our REST API from scratch and enhance it step by step.

We will learn best practices for building our backend in a functional way and on how to build APIs with Express. We will discuss aspects like API security and error handling. Sequelize is our ORM of choice we will show how to query a couple of tables and how to compose our program into small reusable functions and use them to compose promise chains to handle API requests.

With the API built, we will go back to the drawing board and only now introduce Object Oriented Programming, Generics and Decorators. With this last foundational blocks we will go back to out program and we will enhance by further adding type safety to it. We will then build a small frontend in Angular 2 using the Angular CLI to query the API and display a list of lessons. We will do so by sharing some code between backend and frontend.

What You Will Be Capable of Doing at the End of the Course

What you will end up with does not seem like much, but its what the industry has been looking for for a very long time: a type safe program built full stack using only one language, based on functional programming principles and sharing some code between the backend and the frontend.

I'm pretty sure you will have lots of fun taking this course! Its very practical but still goes in depth in a lot of areas. The focus goes beyond the features, I want you to know not only the features, the goal is to know them but know when to use them, when not to use them and why, what features are frequently used vs the features that are rarely used. Because that's the most important information that really helps us to build applications in our every day lives as software developers.

Important:  By enrolling you also get very fast and friendly student assistance. If you have questions please post a question and i'll get back to you ASAP. Remember I'm here (every day) to help you and can answer you also in French and Spanish if you prefer.

This Course in a Nutshell

You are going to learn Typescript 2, its ES6 Features and its advanced type system in depth. You will then use Typescript to build a Node REST API in Express and query a SQL database in Typescript using the Sequelize ORM. You will build a small Angular 2 Typescript Client using the Angular CLI and you will query the REST API using the Angular 2 HTTP Module. 

 

The Main Goal Of This Course

The main goal of  the course is that you learn not only the Typescript language features, but that you also learn how to use them in practice to build concrete programs. We will cover the benefits of type safety and how it helps us to write better programs.

 

Why Typescript ?

We wouldn't be surprised if Typescript get tremendous adoption by the enterprise in the next few years, and at the same time by the web development community. But there is something really unusual about Typescript.

This might have actually happened before maybe with Ruby on Rails, but its likely unique. With Angular 2 and Typescript, we have one of those very rare situations when a framework is actually more popular than the language itself ! 

Angular 2 has about the double of the search volume than Typescript, and what is stranger is the Angular 2 trend curve is growing faster than Typescript as well.

Don't just use Typescript like if it was another language, Let's Master It !

So what do these trend results mean ? That many of us are finding the language so easy to use when coming from another language that we manage to get by without diving deep into Typescript. And many of us might not have realized just how amazing this language is, and see its true disruptive potential in the enterprise and beyond.

Is Typescript Mostly for Angular 2 ?

No, Typescript is not only for Angular 2, its a very powerful programming language, and its latest version Typescript 2 is so feature complete when compared to many other languages, and yet so simple to use.

Object Oriented or Functional ? 

There is great support for both functional and object oriented programming, its all there. In this course we will also cover OO programming but the main focus is on functional programming. How do we make sense of all this huge amount of features? What are the ones that we will be using everyday, vs the ones that we will likely almost never use ? And yet the biggest feature of the language goes beyond the language itself.

Write Once, Run Anywhere ?

Typescript does allow us to do that, and that is maybe the most underrated feature of Typescript. Building the frontend and the backend of an application using completely different languages and ecosystems significantly raises the difficulty of building web applications.

We could use Typescript in a Full Stack way, by building our whole application with it. The type safety features and the great tooling like auto-completion and refactoring make Typescript very appropriate for use in enterprise settings, where developers are used to these features since a long time.

We could build our REST API and our database access layer in Node using Typescript, and share some code between the frontend and the backend. And that is exactly what we will be learning in this course !

What You will Learn In This Course ?

We will do a complete introduction to Typescript 2 and to its type system. We will then immediately apply these new concepts to a practical example: we will build a REST API in Node using Express and Typescript, and then we will query a Postgresql relational database using the Sequelize ORM. 

Learn How to use libraries in a Type Safe Way

We will learn how to use Typescript with third party Javascript libraries and still write type safe programs. The goal is to give a theoretical introduction to the language, but then immediately drive home those concepts by applying them to everyday tasks that we will all do in our daily lives as software developers.

Course Overview

The course structure is simple: we will setup the Webstorm IDE step by step, and start introducing Typescript simply as a better Javascript, showing main of the ES6 features that we can use already today. 

Then we will do a deep dive into the type system and specifically into the features supported by Typescript 2. With this in place we will start writing our REST API from scratch and enhance it step by step.

Functional Programming First, OO also covered

We will learn best practices for building our backend in a functional way and on how to build APIs with Express. We will discuss aspects like API security and error handling. Sequelize is our ORM of choice we will show how to query SQL database tables and show how to compose our program into reusable small functions and use them to compose promise chains to handle API requests.

Object Oriented, Generics, Decorators

With the API built, we will go back to the drawing board and only now introduce Object Oriented Programming, Generics and Decorators. With this last foundational blocks we will go back to out program and we will enhance by further adding type safety to it. 

Build a Small Angular 2 Application, Share Code Between Backend and Frontend

We will then build a small frontend in Angular 2 using the Angular CLI to query the API and display a list of lessons. We will do so by sharing some code between the backend and frontend.

What You Will Be Capable of Doing at the End of the Course

What you will end up with does not seem like much, but its what the industry has been looking for for a very long time: a type safe program built full stack using only one language, based on functional programming principles and sharing some code between the backend and the frontend.

I'm pretty sure you will have lots of fun taking this course! 

This course is very practical but still goes in depth in a lot of areas. The focus goes beyond the features, I want you to know not only the features, the goal is to know them but know when to use them, when not to use them and why, what features are frequently used vs the features that are rarely used. Because that's the most important information that really helps us to build applications in our every day lives as software developers.

What are the requirements?

  • Some previous Web Development Knowledge is really important - namelly some HTML and Javascript
  • Some Angular 2 notions are needed to understand the last section of the course
  • Previous exposure to another programming language like Javascript, C#, Ruby, Python or Java is important as this not an introduction to programming
  • Having Node and NPM installed in your machine helps, but I will provide detailed instructions
  • We will be building a REST API, but won't be covering REST, so its important to have some notions of REST
  • We will query a SQL Database but won't cover SQL or relational databases, its important to have some notions on relational databases

What am I going to get from this course?

  • Use Typescript with confidence in a full stack development context
  • Learn how to build Node Js processes with Typescript
  • Learn how to build a small Angular 2 application using the Angular CLI
  • Have an Angular 2 Client that queries an HTTP REST API using the Angular 2 HTTP Module
  • Have deep understanding of the Typescript 2 Type System, and know how to leverage it in practice
  • know how to import third party type definitions and use them to build better programs
  • Understand the benefits of Type Safety and leverage them to build better programs
  • Know How to Build a small REST API with Express and Typescript
  • Know how to query a SQL database using Sequelize and Typescript

What is the target audience?

  • Professional Developers that are looking to keep current by learning the latest programming language of the web development world
  • Backend Developers doing a transition to full stack development
  • Backend Developers that want to improve their frontend skills
  • Developers that want to learn how to build Angular 2 programs, but want to start by learning Typescript first
  • Javascript Developers in general that use node as a backend server and would like to learn how to write node in Typescript
  • Javascript Developers looking to learn Typescript

9

Students

--

Projects

0

Reviews (0)

Vasco Ferreira

Web Development Online Instructor

About the Angular University:

The Angular University aims to be the only place that you need to go in order to learn and keep up with the Angular 2 ecosystem. We provide premium quality video tutorials, screencast style.

About the course instructor:

Hello, my name is Vasco  and I'm a Software Developer with 17 years of experience, very seasoned building user interfaces with Angular. I've worked as a Frontend Developer/Architect in a large variety of enterprise projects throughout the years.   

I worked on a ton of projects, everything from single page applications to help build the European Criminal Record Information Exchange System, to brand new e-banking portals, to corporate banking portals, and more. I've been a key part of internal framework teams that built frameworks for in-house departments of tens of developers. And that's just a few of them, please check my Linkedin for extensive recommendations.

I also love to teach, write and talk about technology.  I am looking forward to be your Angular 2 instructor,

Kind Regards,

Vasco