JSFoo 2017

JSFoo is a conference about JavaScript and everything related.

TypeScript all the things!

Submitted by Prashant Tiwari (@prashaantt) on Wednesday, 8 February 2017

videocam
Preview video

Technical level

Intermediate

Section

Full Talk

Status

Confirmed & Scheduled

View proposal in schedule

Vote on this proposal

Login to vote

Total votes:  +16

Abstract

You’re probably doing something wrong if you write JavaScript for a living in 2017 and haven’t yet tried TypeScript. Whether you’re writing a back-end, front-end or a mobile app — and whether you’re using jQuery, React, Angular, Vue or your favourite framework-du-jour — TypeScript can significantly improve your development experience with its incredible tooling and refactoring support that can help you catch bugs as you type and bring sanity to managing large codebases.

In this session, I’ll take you through the amazing world of TypeScript’s language features and its rich out-of-the-box IDE affordances such as cross-referencing and auto-completion, experiences that developers working with traditional statically-typed languages take for granted. I’ll also show you how all the latest ES2015/16/17 features are natively available in TypeScript with a greatly simplified configuration compared to Babel’s and how you can take advantage of static typing to auto-generate a nice documentation for your project.

Outline

I’ll probably take the following route:

  • Give examples of how unintended bugs creep into our JS code.
  • Introduce the concept of ‘thinking like a compiler’ to show how most of these common mistakes arise due to misunderstanding or incomplete understanding of how the language works.
  • Introduce TypeScript and show how it can point out these bugs to us right inside the editor, leading on to the motivation for static-typing.
  • Show how easy it is to set up a TypeScript project, with some often-used settings and config.
  • Show how to incrementally upgrade existing projects to TypeScript.
  • Introduction to DefinitelyTyped (and how easy it is to submit a PR to add new definitions or fix existing ones).
  • Show more complete examples of static typing and editor support in some sample projects (Node and React).
  • Show more advanced features of TypeScript.
  • Demonstrate how you can use TS interfaces to follow SOLID design principles.
  • Also talk about some gotchas and workarounds when writing some parts of traditional JS that don’t easily map to TS.
  • What to expect in the TS roadmap and how it’s aligned to future ECMAScript versions.

Stretch goals:

  • Try to cover some key differences between Flow and TS.
  • Honourably mention Elm and PureScript.

Requirements

Prior experience with JavaScript, with a general awareness of new ECMAScript features.

Speaker bio

Prashant is a full-stack software developer at Equal Experts. He has been writing JavaScript for years, but it was love at first sight when he discovered TypeScript.

His interests cover a wide range from design and typography to NLP and deep learning, and he enjoys taking on hard problems to create beautiful things.

Links

Slides

https://slides.com/prashaantt/typescript-all-the-things

Preview video

https://www.youtube.com/watch?v=9qinleAsndE

Comments

  • 1
    Sandhya Ramesh (@sandhyaramesh) Reviewer a year ago

    Hi Prashant, we’re currently evaluating your proposal. Could you please upload your slides?

  • 1
    Prashant Tiwari (@prashaantt) Proposer a year ago

    Hi Sandhya: Sure, I’m working on the slides and thinking about the video. I’ll try getting back by the next week.

  • 1
    Prashant Tiwari (@prashaantt) Proposer a year ago (edited a year ago)

    The slides and the video are now up.

  • 1
    Sarvesh Kesharwani (@imsarveshk) a year ago (edited a year ago)

    awesome talk

Login with Twitter or Google to leave a comment