TypeScript - Your regular JavaScript on steroids
-
Upload
christos-matskas -
Category
Software
-
view
292 -
download
0
Transcript of TypeScript - Your regular JavaScript on steroids
![Page 1: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/1.jpg)
#FullStackCon 2015
![Page 2: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/2.jpg)
“Everything that can be written in JavaScript, will eventually be written in JavaScript”
Atwood’s Law
![Page 3: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/3.jpg)
JavaScript was originally developed for applications with a
few hundred lines of code! “Netscape”, 1995
![Page 4: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/4.jpg)
HelloI’m Christos
christosmatskas cmatskas https://cmatskas.com
![Page 5: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/5.jpg)
Enterprise Projects
![Page 6: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/6.jpg)
Mobile applications
![Page 7: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/7.jpg)
Side Projects
![Page 8: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/8.jpg)
![Page 9: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/9.jpg)
Javascript won the war.
![Page 10: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/10.jpg)
![Page 11: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/11.jpg)
![Page 12: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/12.jpg)
![Page 13: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/13.jpg)
![Page 14: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/14.jpg)
Enterprise-Scale
• Refactoring• Building components• Static typing• Go to definition, renaming etc
![Page 15: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/15.jpg)
Ratified in 2015 Long overdue Missing features Slow browser adoption
EcmaScript2015 (ES6)
![Page 16: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/16.jpg)
Slow adoption
![Page 17: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/17.jpg)
Compilers & Polyfils
• Babel• Traceur• TypeScript
![Page 18: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/18.jpg)
TypeScript: A language for large scale
JavaScript development.
![Page 19: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/19.jpg)
TypeScript: A typed superset of JavaScript that
compiles to plain JavaScript.
![Page 20: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/20.jpg)
Any browser. Any host. Any OS.
![Page 21: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/21.jpg)
Open SourceURL: https://
github.com/Microsoft/TypeScript
![Page 22: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/22.jpg)
+ +
![Page 23: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/23.jpg)
+ +
![Page 24: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/24.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/26.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/27.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/28.jpg)
Demo Time!
![Page 29: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/29.jpg)
Questions before lunch.js??????
![Page 30: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/30.jpg)
http://typescriptlang.org
![Page 31: TypeScript - Your regular JavaScript on steroids](https://reader036.fdocuments.in/reader036/viewer/2022081514/58f0f1b61a28aba5398b45fd/html5/thumbnails/31.jpg)
Useful Links• TypeScript – official website• ES6 compatibility table• TypeScript GitHub Repo• TypeScript Roadmap• Use TypeScript with Sublime• Use TypeScript with VS Code