what is typescript - tj vantoll · so should you use typescript ? •are your apps big? •do you...

53
What is TypeScript, and Should You Care? TJ VanToll

Upload: others

Post on 11-Jul-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

What is TypeScript, and Should You Care?

TJ VanToll

Page 2: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

How big was MSU’s first graduating class (1861)?

7

Page 3: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

TypeScript

Page 4: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 5: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

TypeScript

Page 6: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

“A typed superset of JavaScript that

compiles to plain JavaScript”

Page 7: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

“A typed superset of JavaScript that

compiles to plainJavaScript”

Page 8: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 9: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

“A typed superset of JavaScript that

compiles to plainJavaScript”

Page 10: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 11: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

😍

Page 12: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

😠

Page 13: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 14: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 15: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

Compile to JavaScript tools

• There are a lot.• 345• Source: https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS

• Ruby, Python, Erlang, Java, Scala, C#, F#, Lisp, Scheme, Haskell, Smalltalk, C, C++, Basic, Go, PHP, and way more.

Page 16: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

Fun names of compile-to-JS tools

• treehugger• jangaroo• Waterbear

Page 17: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

http://waterbearlang.com/

Page 18: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 19: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 20: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 21: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 22: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 23: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 24: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 25: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 26: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 27: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 28: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 29: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 30: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 31: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 32: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 33: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

“We risk a lot by building our core on top of TypeScript.”

Page 34: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

“I don’t hear anyone talking about TypeScript.”

Page 35: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

“I like to keep my JavaScript pure, as

God intended.”

Page 36: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 37: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 38: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 39: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 40: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 41: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 42: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 43: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 44: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 45: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

Why?

Page 46: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

3 reasons

Page 47: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

1) Commitment to the ECMAScript standard

Page 48: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

“Some examples [of compile-to-JavaScript frameworks], like Dart, portend that JavaScript

has fundamental flaws and to support these scenarios requires a “clean break” from

JavaScript in both syntax and runtime. We disagree with this point of view. We believe that with committee participant focus, the

standards runtime can be expanded and the syntactic features necessary to support

JavaScript at scale can be built upon the existing JavaScript standard.”

Page 49: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write
Page 50: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

2) Types are opt-in

Page 51: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

3) Tooling

Page 52: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

So should you use TypeScript?• Are your apps big?• Do you work on a team?• Unfamiliar codebases?• Non JS developers that need to write JS code?

Page 53: What is TypeScript - TJ VanToll · So should you use TypeScript ? •Are your apps big? •Do you work on a team? •Unfamiliar codebases? •Non JS developers that need to write

Thanks!@tjvantoll