Typescript Masterclass & FREE E-Book
Learn Typescript: Build a Node REST API in Typescript, query it with Angular 4 (formerly Angular 2)
Course Just Launched ! The videos and the code of this course are fully up to date with the Typescript 2 Release.
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 also includes the Ebook: Typescript Jumpstart - Fast-track to Typescript Proficiency, For Experienced Developers.
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 Typescript Client using the Angular CLI and you will query the REST API using the Angular 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 and Typescript, we have one of those very rare situations when a framework is actually more popular than the language itself !
Angular has about the double of the search volume than Typescript, and what is stranger is the Angular 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 ?
No, Typescript is not only for Angular, 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
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 Application, Share Code Between Backend and Frontend
We will then build a small frontend in Angular 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.