TypeScript Course Now Online! | John Papa

John Papa

Evangelist on the loose

TypeScript Course Now Online!


Dan Wahlin and I have just published a new course at Pluralsight titled TypeScript Fundamentals . This course walks you through the key concepts and features that you need to know to get started with TypeScript, and use it to build large (and small) scale JavaScript applications.
If you like this course, please rate it using Pluralsight’s new star rating system! We certainly appreciate your feedback. Especially 5 stars out of 5 :)
ps rating

Course Description

TypeScript is a new open source language that provides support for building enterprise scale JavaScript applications. Although several patterns exist that can be used to structure JavaScript, TypeScript provides container functionality that object-oriented developers are familiar with such as classes and modules. It also supports strongly-typed code to ensure inappropriate values aren’t assigned to variables in an application. This course will walk you through the key concepts and features that you need to know to get started with TypeScript, and use it to build enterprise scale JavaScript applications. You’ll learn the role that TypeScript plays as well as key features that will help jump-start the learning process.

1: Getting Started with TypeScript

TypeScript is a superset of the JavaScript language that offers several benefits to both client-side and server-side developers. In this module you’ll learn about the different features that TypeScript offers and see how it can be used with tools such as Visual Studio, Sublime Text and others to structure code and even catch issues as you’re writing code.

2: Typings, Variables, and Functions

This module covers the core features of TypeScript including the TypeScript grammar, optional type annotations, built in primitive types, ambient declarations, and special types. Also covered are arrow functions, simple interfaces, functions, objects and more.

3: Classes and Interfaces

In this module you’ll learn how classes can be defined and extended using TypeScript and the resulting JavaScript that’s generated. You’ll also learn about interfaces and the role they can play in adding consistency across classes.

4: Modules

This module explains what TypeScript’s modules are, how to identify them, when to use them, and various ways to use them with and without patterns such as AMD.

More Details?

While writing the course I wrote a series of posts the map loosely to the modules:

If you like this course, please rate it using Pluralsight’s new star rating system! We certainly appreciate your feedback.

My Next Course Will be …

While the paint is still drying on the TypeScript course I’m mapping out the flow for my next course. I decided to create a course that goes step by step through building a rich web app. This fits in nicely as a beginner level course for building a SPA, slotting right before my Code Camper SPA course at Pluralsight. The existing SPA course covers a lot of ground for building a full featured Rich Web App (RWA) or SPA, and it demonstrates exactly how robust you can make yours web apps. Now it is time to go back and show from scratch how you can build a SPA from the ground up. It should be an exciting prelude that leads right into the existing SPA course as part of a learning path for the topic. I have several other ideas for courses after this next one, but I’m going to take it 1 at a time.

tags: course javascript pluralsight typescript
  • http://blog.sublogic.com/ James Manning

    AFAICT this should be “superset” instead?

    TypeScript is a subset of the JavaScript language

    at least, typescriptlang.org thinks so :)

    TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.

    • John

      James – Thanks for catching my mistake, please excuse my typo. Yes, I meant it is a superset of JavaScript. I just fixed the text.

  • Rockmeister

    Thanks for publishing Typescript fundamentals.
    Here are my suggestions/request for the next “building a SPA application from scratch” course

    (1) Build it on top of the ASP.NET Single Page Apps Template.
    (2) Use Typescript
    (3) In the end, create a VSIX Project Template that pluralsight users could download to jump-start SPA development.

  • http://www.majako.se Martin Gustafsson

    Exciting! Would be cool to see TypeScript in your next SPA cource.

  • thaoula

    I just finished watched the Pluralsite course. Great work to both you and Dan.

    Just wondering if you have any material about extending static class such as the built in Date using Typescript. i.e adding additional static and instance methods.


  • ME

    And Silverlight? WHY JAVASCRIPT?

  • http://www.TreelineTechnology.com Steve Levy

    Hi John,

    Looking at the Pluralsight course right now – thanks. One question though, I’ve been reading your posts on debugging w/ VS2012 and TypeScript. I’m using TS 8.1.1 and the latest Web Extensions – w/ IE10 as my browser. I’ve been able to get TS source debugging to work sporadically in different projects. Even after a clean and rebuild, my breakpoints are disappearing when I execute. I’ve checked that the source maps are being produced and copied to the debug output folder, but the VS error says “No symbols loaded”. Any advice or perspectives would be appreciated.

    • John

      Steve – IF you have WE 2012, make sure you turn off the option to build/save/make the JavaScript on build. Otherwise when you debug, it will regen and the symbols will be different.

      • http://www.TreelineTechnology.com Steve Levy

        Thanks for the reply, John. I created a brand new TypeScript HTML application, and debugging works under the conditions you suggested. I should have been more specific; my debug problems are twofold – I’m using TypeScript in a LightSwitch application, just as a demo project. Have gotten breakpoints to work through fiddling for a time, but can’t anymore. Also, I loaded and recompiled the RayTrace sample, after upgrading ts.exe to 8.1.1 and getting latest JQuery / Jquery UI libs. Breakpoints don’t work for me there, either, even using your Web Extensions suggestion. Maybe that’s because the project was created with an earlier version.

  • Dizzyguy

    John, great presentation…love it. One question. I’m trying to add Breezejs to my Typescript with requirejs, but I can’t get past an error ‘unable to initialize Q.’ I know that you have been using Breeze, so I’m just casting this out in case you’ve hit this before? Breeze works great with Typescript alone, but if I use requirejs, I can’t get past this error. Anyway, great job on the presentation, again…

    • John

      Dizzyguy – AMD usage with TypeScript is an area that I expect the team to make some improvements. That said, you can preload the 3rd party libraries, qhich frankly is not a bad idea since you know those dependencies up front. That will solve the issue.

  • Dhana

    TypeScript is still in its preview… wondering if its good idea to start using it in serious projects? The below link seems to suggest its not
    http://www.nczonline.net/blog/2012/10/04/thoughts-on-typescript/ (look at ‘Should you use it?’ section)

  • Anthony

    Now that you’ve used TypeScript quite a bit, do you prefer it to ECMAScript 5 ?

    • John

      Anthony – I like both. TypeScipt’s static typing and interfaces have saved me in some cases. However, I really love ECMAScript 5 and enjoy the fluid nature of it.

  • Rob H.

    “(1) Build it on top of the ASP.NET Single Page Apps Template.
    (2) Use Typescript”

    I just sent John an email asking for exactly that. TypeScript Angular sample that uses John’s approaches (controller-as, etc) would be very helpful. Even more so if there were document templates (Sidewaffle or otherwise)

    • Rob H.

      doh! I just checked SideWaffle and they do have typescript templates. It’s a start!

%d bloggers like this: