About This Class

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:

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

The goal of the course is one big exercise of building a REST API in NodeJs, Sequelize and Typescript, and query it via an Angular 2 client. This Github repository contains the finished result - https://github. com/angular-university/complete-typescript-course

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 th...