Upload
ernest-joseph-nicholson
View
221
Download
0
Embed Size (px)
Citation preview
11 июля 2015
As true as steel to your desire
You come with just an idea -we make great software for you!
TrustTeamwork
Transparency
TypeScript – обзорАлександр Шевнин - Arcadia
© Copyright JSC “Arcadia, Inc.” 2
О себе
Александр ШевнинМенеджер направления, JSC “Arcadia Inc.”[email protected]
В Аркадии с 2012-го года, последние полтора года работаю в основном с C#, AngularJS и TypeScript
© Copyright JSC “Arcadia, Inc.” 3
TypeScript
• Designed by Microsoft
• Author: Anders Hejlsberg (C#, Delphi, Turbo Pascal)
• First appeared: October 1, 2012
• License: Apache License 2.0
© Copyright JSC “Arcadia, Inc.” 4
TypeScript
• Strict superset of JavaScript
• Strongly-typed
• ECMAScript6 oriented
• Produces valid ES3, ES5 or ES6 code
© Copyright JSC “Arcadia, Inc.” 5
IDE/tools support
• Visual Studio – native (+msbuild)
• ReSharper – included
• IntelliJ IDEA
• Sublime Text 2/3 – official plugin as a part of 1.5 release
• Online Cloud9 IDE
• Eclipse IDE
• Grunt, Maven, Gradle plugins
© Copyright JSC “Arcadia, Inc.” 6
History
10/2012 v0.8
6/2013 v0.9
4/2014 v1.0
9/2014 v1.1
10/2014 v1.3
1/2015 v1.4
4/2015 v1.5beta
© Copyright JSC “Arcadia, Inc.” 7
ES6 compatibility
Feb 2015 Today (TS 1.5-beta)
© Copyright JSC “Arcadia, Inc.” 8
Let’s move to Features!
© Copyright JSC “Arcadia, Inc.” 9
Type Checking
© Copyright JSC “Arcadia, Inc.” 10
Classes
© Copyright JSC “Arcadia, Inc.” 11
Classes
© Copyright JSC “Arcadia, Inc.” 12
Classes
© Copyright JSC “Arcadia, Inc.” 13
Compiles to…
© Copyright JSC “Arcadia, Inc.” 14
Or to… ES6
© Copyright JSC “Arcadia, Inc.” 15
Access Modifiers
• Public
• Private
• Protected (since 1.3)
© Copyright JSC “Arcadia, Inc.” 16
Properties
© Copyright JSC “Arcadia, Inc.” 17
Classes inheritance
© Copyright JSC “Arcadia, Inc.” 18
Generics (since 0.9)
© Copyright JSC “Arcadia, Inc.” 19
Interfaces
© Copyright JSC “Arcadia, Inc.” 20
Arrow functions
© Copyright JSC “Arcadia, Inc.” 21
Modules
© Copyright JSC “Arcadia, Inc.” 22
1.3 - 1.4 small joys…
© Copyright JSC “Arcadia, Inc.” 23
Union Types
© Copyright JSC “Arcadia, Inc.” 24
1.5 Changes (inspired by Google AtScript)
© Copyright JSC “Arcadia, Inc.” 25
Decorators (ES7 proposal, magic)
© Copyright JSC “Arcadia, Inc.” 26
Using JavaScript libraries
• d.ts
• Github/DefinitelyTyped
© Copyright JSC “Arcadia, Inc.” 27
AngularJS: Services & Controllers
© Copyright JSC “Arcadia, Inc.” 28
AngularJS 2.0 – Written in TypeScript