Learning Path: TypeScript: Guide to Master TypeScript 2.x
0.0 (0 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
8 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learning Path: TypeScript: Guide to Master TypeScript 2.x to your Wishlist.

Add to Wishlist

Learning Path: TypeScript: Guide to Master TypeScript 2.x

Fast-track your web development journey
0.0 (0 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
8 students enrolled
Created by Packt Publishing
Last updated 7/2017
English
Current price: $10 Original price: $200 Discount: 95% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 11.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • nderstand the basic concepts of TypeScript 2.x.
  • Creation of a basic TypeScript application.
  • Testing the application using Jasmine.
  • Learn to migrate various libraries into TypeScript.
  • Understand rapid web application development using TypeScript.
  • Learn to build pro code using TypeScript.
View Curriculum
Requirements
  • Experience with Scala is essential so is basic knowledge of data processing concepts
Description

TypeScript is an open source language which is developed by Microsoft. TypeScript allows you to create scalable web applications which are easy to implement. It is a strict superset of JavaScript. TypeScript can be utilized to create JavaScript applications for client-side or server-side execution. As TypeScript is a subset of JavaScript, it supports all the libraries of JavaScript.

In this Learning Path, you will start learning from the basics of TypeScript like installation to creating a basic TypeScript application. You will also learn to write TypeScript code and stitching all the code together to create modules. You will also learn how to write your custom code and enhance your code using Node and Gulp.

Finally, you will also gain experience with TypeScript usage by building a basic game application. Also you will learn about the new class introduced to TypeScript known as mixin and also learn about OOP concepts like inheritance for your applications. If you are a JavaScript developer wanting to unleash its true power by building scalable and maintainable applications, then this course is for you.

By the end of this Learning Path, you will be able to understand the basic concepts of TypeScript and will also be able to create scalable and  pro apps with TypeScript.

About The Author :

Kamran Ayub is a WebApps consultant and has been associated with the web industry since 2000. He specializes in both front-end and back-end development, and is heavily involved in open source.

Kamran has used TypeScript in large-scale open source projects since version 1.0. Currently situated in Minnesota, he has given talks on Demystifying TypeScript and TypeScript in Action multiple times over the past few years to different audiences and at different conferences such as his own workplace, the Twin Cities Code Camp, Minnesota Developer Conference, and Midwest.js.

He has only received positive feedback on the sessions and is always excited to revamp them each year to update them and spread the love for TypeScript. He is excited to formally record a course on TypeScript where he can take the appropriate time to go over each of the topics he covers in his talks more in-depth and with the ability to focus on important points and explain.

Patrick Desjardins has been working since many years as Senior Software Developer Engineer in a top 25 companies in the US. He was a Microsoft Most Valuable Professional (MVP) in Asp.Net for two consecutive years, 2013 and 2014. He has studied software engineering and he is known for his analysis, resourcefulness and abilities to find effective solutions quickly. Since his early professional career, his focus has always been to keep up to date in order to provide quality services to meet customers’ needs. Patrick is a professional who has a well-developed work ethic and who has the desire to perform both in quality and timeliness. His area of interest is Web development, which he has embraced since the early 2000s. For many years Patrick has continued to train daily in new technologies and put all theories learned into practice in various projects. On his spare time, Patrick wrote several books about web related subjects like .Net, Asp.Net, JavaScript and Azure.

Patrick Desjardins has been working since many years as Senior Software Developer Engineer in a top 25 companies in the US. He was a Microsoft Most Valuable Professional (MVP) in Asp.Net for two consecutive years, 2013 and 2014. He has studied software engineering and he is known for his analysis, resourcefulness and abilities to find effective solutions quickly. Since his early professional career, his focus has always been to keep up to date in order to provide quality services to meet customers’ needs. Patrick is a professional who has a well-developed work ethic and who has the desire to perform both in quality and timeliness. His area of interest is Web development, which he has embraced since the early 2000s. For many years Patrick has continued to train daily in new technologies and put all theories learned into practice in various projects. On his spare time, Patrick wrote several books about web related subjects like .Net, Asp.Net, JavaScript and Azure.

Who is the target audience?
  • A programmer or an enthusiast wanting to gain an insight into TypeScript and creating professional applications.
Compare to Other Typescript Courses
Curriculum For This Course
63 Lectures
11:19:28
+
Introduction to TypeScript
33 Lectures 08:14:59

This video provides an overview of the entire course.

Preview 03:29

We must set up a code editor to be able to use the TypeScript SDK and compile code, as well as edit files. This video will help walk through the installation process for Visual Studio Code, and explain the parts of the editor the user will need to be familiar with.

Cross-Platform Tooling with Visual Studio Code
03:36

We will be using Node.js to work with modules and build a sample application later on, so we must install and configure it.
Installing and Configuring Node.js
02:14

In order to understand better why TypeScript was developed, we need to understand the history of JavaScript and the motivations to build it.
Preview 05:34

TypeScript adds static typing to JavaScript because JS is a loosely-typed language. Learn how it works by taking a deeper look at the primitive types, functions, objects, and type coercion semantics.
Understanding JavaScript Types
07:31

JavaScript is not a perfect language, but there are compelling reasons to use it. Learn about the advantages and disadvantages of using JavaScript.
Advantages and Disadvantages of JavaScript
10:39

Learn about what issues TypeScript attempts to address in vanilla JavaScript and how it will help benefit your productivity.

Why TypeScript?
07:18

Learn what language features TypeScript brings that can help you write more maintainable applications.
Preview 17:14

Beyond the basics, what other advanced features can TypeScript offer to enhance the robustness of your applications?
Advanced TypeScript Features
10:02

Learn how to set up your first TypeScript application and take advantage of the advanced editor tooling in the cross-platform Visual Studio Code editor.
Preview 08:53

In order to get started with building our Base64 encoder, you'll need to understand the basics of binary math and operations in JavaScript.
Binary Math Refresher
07:33

Get started writing TypeScript by learning about basic types and syntax through implementing a base64 encoding function.
Implementing a Base64 Encoder
15:06

The encoding implementation has a bug. Learn how to walk through and debug your code interactively using Visual Studio Code debugger integration and JavaScript source maps.
Debugging in Visual Studio Code
06:28

Now that we have a base64 encoding algorithm, you will learn how to leverage TypeScript interfaces to ensure that when we add new encoding implementations they have a consistent API.
Preview 08:39

Our base64 implementation only supports simple strings. We will use the Node.js runtime library to switch out our implementation while ensuring calling code still works as expected. TypeScript uses declarations to allow us to interact with third-party libraries.
Adding Support for Unicode Using Node.js
10:11

By adding another encoder implementation, we'll see how TypeScript can help us ensure consistency within our codebase through interfaces.

Adding Another Encoder Implementation
13:57

A more robust application would accept arguments passed in from the command-line; so we will leverage the minimist npm module to add support, but we will also want to ensure only a small part of the code depends on minimist.

Preview 18:59

We have a working application, but it will be hard to test. We use a combination of TypeScript features and encapsulation to ensure we decouple our dependencies and ready our application for testing.

Refactoring for Testability
12:27

To help create maintainable code, the SOLID principles of software design can be used as a tool to help ensure our codebase stays in a testable and robust state.

Applying SOLID Principles
13:52

Learn what the Jasmine testing framework is and how it works, so we can describe our application specifications so that we can test it. Once Jasmine is configured, write our first test and execute it using npm.

Preview 12:22

TypeScript and unit testing are complementary. We will see how our tests respond better to refactoring and help ease the headaches of changing JavaScript codebases.

Writing Specifications in Jasmine
16:35

Our application code is not the only code we'd like to debug. We can leverage Visual Studio Code to interactively debug tests to help find and solve errors. We can also customize how Jasmine runs to display more verbose test output.
Running Our Test Suite in Visual Studio Code
23:20

Draggabilly.js is a DOM manipulation library that has external dependencies. To begin the migration, we'll need to understand how it's built and put together.

Preview 06:59

To prepare to migrate the library, we will need to set up our TypeScript project and install any needed type declaration dependencies.
Setting Up Visual Studio Code
10:58

Where do you start when migrating to TypeScript? We'll cover adding declarations, type annotations, and common compiler errors.
Converting the Code
39:46

Many applications today that are written in JavaScript have both server and client code. Often, they use event-based APIs such as socket.io to enable real-time communication. The application we will migrate is a Todo application built using Node.js and the Express web framework.

Preview 05:56

To begin migrating the application, we will need to configure our Visual Studio project to add any dependencies and TypeScript project settings.
Setting Up Visual Studio Code
10:06

To convert the server-side code, we will go file-by-file and extract any type information we can share into shared interfaces. We will also see how we can leverage some more advanced TypeScript features to ensure how we can prevent the incorrect use of the Socket.IO API.
Converting the Server-Side Code
44:53

A common problem when trying to share server and client JavaScript is the use of modules in Node.js. We can leverage the Browserify utility to write our client code as CommonJS modules and bundle for the browser.
Converting the Client-Side Code
31:52

The sample Node library is a small URL parsing library part of the core Node runtime. It depends on two small modules that have no TypeScript declarations anywhere.
Preview 03:35

Before migrating the Node library, we will need to configure our TypeScript project in Visual Studio Code.

Setting Up Visual Studio Code
05:42

Not every piece of JavaScript code has TypeScript declarations available publicly. Learn how to read API documentation and source code to build your own custom declarations for use in your projects.

Writing Custom Declaration Files
31:59

Learn why enabling strict compiler flags will generate more errors but ends up making your code more robust at runtime to guard against accidental type coercion issues that plague JavaScript codebases. You will also see how to guard against type checking issues and "magic string" property access in TypeScript.
Converting the JS
01:07:14
+
Rapid Web Application Development with TypeScript 2.x
15 Lectures 01:44:31
This video will give an overview of entire course.
Preview 02:16

The aim of this video is to describe why and how to get Visual Studio Code, which will be used in all the future explanations.
Visual Studio Code
05:35

We need multiple libraries and a server to run the application. Node.js allows us to have that in few minutes.
Node.js
05:38

JavaScript is not strongly typed and getting an existing JavaScript library requires some work to make it compatible with TypeScript.
Getting Packages from NPM
04:42

Many tasks are required when building and Gulp allows doing it in a single command line.
Writing Gulp Script to Build TypeScript
05:20

TypeScript can be used from command line or by a configuration file. In both cases they have multiple options and some are required to be activated for advanced features.
Configuring TypeScript Compiler
06:46

We need to have basic files to work with TypeScript features as well as a basic project.
Preview 05:32

TypeScript files need to access other pieces of TypeScript files. To communicate, files needs to use modules.

Working with TypeScript Modules and Namespace
10:36

The aim of this video is to lay down some files that we will use to explain more advanced concepts. Instead of just writing code, we use this opportunity to review the basic concepts of TypeScript.

Review Basic TypeScript Concepts
15:31

To have TypeScript compile and have Intelisense while coding, TypeScript needs to have definition files.

Preview 04:48

The aim of the video is to reference a third-party library as a module and use this one in a single file.
Referencing a Third-Party JavaScript Library
03:54

Some libraries are being used often and we can use them without importing.

Referencing a Third-Party JavaScript Library Everywhere
16:08

The code needs to be run and delivered to the user from a server. The solution is to run on Node.js with Gulp, a server.
Preview 07:15

Once we develop code, debugging is a natural step to figure out what is wrong.
Debugging with Chrome
03:43

In this video, we will see how to debug your JavaScript generated from TypeScript as well as the Gulp file.
Debugging with Visual Studio Code
06:47
+
Building Pro Web Apps with TypeScript 2.x
15 Lectures 01:19:58
This video gives an overview of the entire course.
Preview 02:11

In this video, we will see what Typescript is. JavaScript is not an object-oriented language but TypeScript allows having object-oriented syntax to help having a more organized code.
Deeper with Inheritance – Part One
16:30

In this video, we will discuss more object-oriented syntax for having an organized code.

Deeper with Inheritance – Part Two
05:14

In this video,instead of having a method with a collection and single object, we will use Spread to have a single method.

Simplify Your Code with the Spread and Rest Operator
04:38

In this video, we will dynamically change favorite inheritance without modifying favorite and dynamically switch inheritance of a user using mixin. Also it allows modifying code without touching implementation.
Replace Interfaces with Mixins
08:37

In this video, we will use string directly to open many questions to the developer who usesour code. Enforcing string literal adds a set of values acceptable.

Preview 07:04

In this video, you will learn multiple types as single parameter.Also, often used parameter can be managed with type alias and generic type.
Signature Flexibility with Generic Type Aliases and Default Generic
02:57

In this video, TypeScript gives static type to get dynamically namedproperties ,which help to keep the code strongly typed.
Static Type for Dynamically Named Properties
04:18

In this video,we will do an asynchronous operation in TypeScript. Promise allows to use a standard and well-known way to handle successful and rejected asynchronous calls.

Preview 04:13

Promise can become cumbersome when many of them are imbricated or waiting on each other. In this video, we will see how async/await fix this problem.
Simplify Asynchronous with Async/Await
03:20

In this video, we will see how to iterate on an asynchronous task using an async iterator.
Looping with Asynchronous Iterators
03:57

Decorator needs library and specific configuration. We will see how to enable this advanced feature with TypeScript.

Preview 01:52

Decorator can be applied to many parts of you code. This video shows how to create and apply decorator on class and method.

Improving your Development with Class and Method Decorator
04:00

Decorator can be applied to many parts of you code. This video shows how to create and apply decorator on accessor and property.

Modifying the Data on Read with Accessor and Property Decorator
05:27

Decorator can be applied to many parts of you code. This video shows how to create and apply decorator on a parameter.

Parameter Decorator to Have Additional Validation
05:40
About the Instructor
Packt Publishing
3.9 Average rating
8,229 Reviews
58,980 Students
687 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.