typescript - your regular javascript on steroids

31
#FullStackCon 2015

Upload: christos-matskas

Post on 14-Apr-2017

292 views

Category:

Software


0 download

TRANSCRIPT

Page 1: TypeScript - Your regular JavaScript on steroids

#FullStackCon 2015

Page 2: TypeScript - Your regular JavaScript on steroids

“Everything that can be written in JavaScript, will eventually be written in JavaScript”

Atwood’s Law

Page 3: TypeScript - Your regular JavaScript on steroids

JavaScript was originally developed for applications with a

few hundred lines of code! “Netscape”, 1995

Page 4: TypeScript - Your regular JavaScript on steroids

HelloI’m Christos

christosmatskas cmatskas https://cmatskas.com

Page 5: TypeScript - Your regular JavaScript on steroids

Enterprise Projects

Page 6: TypeScript - Your regular JavaScript on steroids

Mobile applications

Page 7: TypeScript - Your regular JavaScript on steroids

Side Projects

Page 8: TypeScript - Your regular JavaScript on steroids
Page 9: TypeScript - Your regular JavaScript on steroids

Javascript won the war.

Page 10: TypeScript - Your regular JavaScript on steroids
Page 11: TypeScript - Your regular JavaScript on steroids
Page 12: TypeScript - Your regular JavaScript on steroids
Page 13: TypeScript - Your regular JavaScript on steroids
Page 14: TypeScript - Your regular JavaScript on steroids

Enterprise-Scale

• Refactoring• Building components• Static typing• Go to definition, renaming etc

Page 15: TypeScript - Your regular JavaScript on steroids

Ratified in 2015 Long overdue Missing features Slow browser adoption

EcmaScript2015 (ES6)

Page 16: TypeScript - Your regular JavaScript on steroids

Slow adoption

Page 17: TypeScript - Your regular JavaScript on steroids

Compilers & Polyfils

• Babel• Traceur• TypeScript

Page 18: TypeScript - Your regular JavaScript on steroids

TypeScript: A language for large scale

JavaScript development.

Page 19: TypeScript - Your regular JavaScript on steroids

TypeScript: A typed superset of JavaScript that

compiles to plain JavaScript.

Page 20: TypeScript - Your regular JavaScript on steroids

Any browser. Any host. Any OS.

Page 21: TypeScript - Your regular JavaScript on steroids

Open SourceURL: https://

github.com/Microsoft/TypeScript

Page 22: TypeScript - Your regular JavaScript on steroids

+ +

Page 23: TypeScript - Your regular JavaScript on steroids

+ +

Page 24: TypeScript - Your regular JavaScript on steroids

Structural typing and type inference In practice very few type annotations are

necessary

Generics Increases accuracy and expressiveness of

type system

Works with existing JavaScript libraries Declaration files can be written and

maintained separately

Types enable tooling Provide verification and assistance, but not

hard guarantees

Type SystemAn accurate static representation of JavaScript’s dynamic run-time type system

Page 25: TypeScript - Your regular JavaScript on steroids

Scalable application structuring Classes, interfaces, and modules enable clear contracts in

code

Aligned with emerging standards Class and lambda syntax aligns with ECMAScript 6 proposals

Supports popular module systems CommonJS and AMD modules in any ECMAScript 3

environment

Classes, Interfaces, ModulesAn accurate static representation of JavaScript’s dynamic run-time type system

Page 26: TypeScript - Your regular JavaScript on steroids

Community 827 forks, 500 feature requests, 3.5K StackOverflow

questions Now taking pull requests – 1651 Closed already

Frameworks Over 1350 .d.ts library definitions on Definitely Typed

repository covering more than 95% of popular JavaScript frameworks

Tool support IDEs: VS, Monaco, Eclipse, IntelliJ, Resharper, Sublime, Atom,

Brackets Build: Heroku, Ruby, grunt, ASP.NET, node.js, compile-in-

client Testing: Chutzpah, tsUnit

TypeScript EcosystemAn Open Source language for large scale JavaScript development.

Page 27: TypeScript - Your regular JavaScript on steroids

TypeScript 1.6 (stable) available now! 1.7 (Beta) available but with breaking changes

ES7 Async…await (for ES6), Polymorphic this, etc

TypeScript 2.0 wish list Additional features, e.g. async/await for ES3 + ES5

Roadmap details https://github.com/Microsoft/TypeScript/wiki/Roadmap

TypeScript Roadmap

Page 28: TypeScript - Your regular JavaScript on steroids

Demo Time!

Page 29: TypeScript - Your regular JavaScript on steroids

Questions before lunch.js??????

Page 30: TypeScript - Your regular JavaScript on steroids

http://typescriptlang.org