今日から始めるtype script入門

38
30 分分分分分 TypeScript 分分 VS 分分分分分分分分 TypeScript 分分分 Write by 分分 分

Upload: -

Post on 29-Jun-2015

2.697 views

Category:

Technology


6 download

DESCRIPTION

30分で分かる?TypeScript入門 VSハッカソン倶楽部 TypeScript勉強会 Write by 森理 麟

TRANSCRIPT

Page 1: 今日から始めるType script入門

30 分で分かる?TypeScript 入門VS ハッカソン倶楽部  TypeScript 勉強会Write by 森理 麟

Page 2: 今日から始めるType script入門

2

Myself

森理 麟 (@moririring)職業:ゲームプログラマHP : moririringのHPツール : VagrantWinMicrosoft MVP for Visual C#(2013.01 –2014.12)

Page 4: 今日から始めるType script入門

4

TypeScript とは?

Page 5: 今日から始めるType script入門

5

TypeScript とは?名前どおりなら Type(= 型 )のある (Java)Script 言語

MatsuiBin
Page 6: 今日から始めるType script入門

6

関わっているのはアンダースヘルスバーグ

MatsuiBin
Page 7: 今日から始めるType script入門

7

彼は Turbo Pascal, Delphi そして C# の父でもある

MatsuiBin
Page 8: 今日から始めるType script入門

8

「ほら、型はしっかり付いているほうがいいんだ。だってもっと多くの誤りを早くに見つけられるから。それにコード生成も向上する。だって、プログラムで使ってる型の堅牢性を確かめるための実行時に動的なチェックが少なくてすむから。」

引用 :C#に関するアンダース ヘルスバーグへのインタビュー (2005年)

MatsuiBin
Page 9: 今日から始めるType script入門

9

Q.C# のように書ける言語?

TypeScript では例えばこんなソースが出てきます。

var func1 = () => { return "fun1" };

MatsuiBin
Page 10: 今日から始めるType script入門

10

A. 違う。 ECMAScript に準拠している。

ECMAScript とは JavaScriptの標準規格。 TypeScript では策定中の仕様も先取りしている。

MatsuiBin
Page 11: 今日から始めるType script入門

11

C# でさっきの書き方(ラムダ式)が登場したのは 2008年。Arrow Function の説明にもちらっと C# の方がとの記述。

MatsuiBin
Page 12: 今日から始めるType script入門

12

但し C# みたいに書ける言語と思って TypeScript を始めるのはなかなか厳しい道とか

MatsuiBin
Page 13: 今日から始めるType script入門

13

ここまでのまとめ

TypeScript はアンダースの関わっている新しい言語TypeScript は型を強く意識した言語C# のように書ける言語ではなく ECMAScript を準拠して先の仕様も書ける言語

MatsuiBin
Page 14: 今日から始めるType script入門

14

TypeScript の特徴とは?

Page 15: 今日から始めるType script入門

15

公式サイト曰く

TypeScript lets you write JavaScript the way you really want to.TypeScript はあなたが本当に書きたい書き方で JavaScriptを書ける

MatsuiBin
Page 16: 今日から始めるType script入門

16

公式サイト曰く

TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.TypeScript は型付けされたJavaScript のスーパーセット。コンパイルで JavaScript を作る

MatsuiBin
Page 17: 今日から始めるType script入門

17

公式サイト曰く

Any browser. Any host. Any OS. Open Source.オープンソースでどんなブラウザでもどんな環境でも、どんな OS でも動く。

MatsuiBin
Page 18: 今日から始めるType script入門

18

ここに注目!

コンパイル出来る!

TypeScript は JavaScript を出力する仕様最適化はないけれど、先人のノウハウが詰まった JavaScriptコードを生成。JavaScript の学習素材としても非常に優秀

MatsuiBin
Page 19: 今日から始めるType script入門

19

JavaScrpit が動いているソースを、TypeScript に持ってきてコンパイルすると全て動くか?

流石に無理。 TypeScript Quick Guideの作者曰く「 2 万行を移植して、 100 行に 2,3 行程度の修正」

例えば以下がエラーvar x = 0;x = "a";

MatsuiBin
Page 20: 今日から始めるType script入門

20

ここに注目!

スーパーセット ( =上位拡張仕様 )

取得が比較的容易JS で得てきた資産も使いまわしやすい

DefinitelyTyped で有名処の JS ライブラリは殆ど使える!

JS では自作する必要がある、クラスや名前空間が使える

MatsuiBin
Page 21: 今日から始めるType script入門

21

僕が気になることコンパイル出来ることは果たしてどれぐらいの人にひっかかるのか?因みに僕はイチコロ反応しているのは C# や Javaなどコンパイラ言語系の人が多いのかな?

MatsuiBin
Page 22: 今日から始めるType script入門

22

ここまでのまとめ

TypeScript はコンパイル出来る静的言語TypeScript は JavaScript のスーパーセットTypeScript は JavaScritp の構文はすべて使えるけれど、そのまま動くわけではない

MatsuiBin
Page 23: 今日から始めるType script入門

23

TypeScript が作られた経緯は?

Page 24: 今日から始めるType script入門

24

Scalable というキーワード

TypeScript is a language for application-scale JavaScript development

TypeScrpit は JavaScript 開発者の大規模開発のための言語

↑理由はよく分からないけれど、この言葉公式からなくし中!

MatsuiBin
Page 25: 今日から始めるType script入門

25

実際、 TypeScript の普及するもっともポイントとなるのがこの大規模開発というアプローチではないかと思う。JavaScript がめっちゃ使える人には TypeScript というアプローチは必要ないかもしれない。ただ大人数開発だとそうはいかず

MatsuiBin
Page 27: 今日から始めるType script入門

27

JS の問題は色んなところで叫ばれており、いろんなアプローチがとられている。代替プログラミング言語を総称して AltJS と呼ぶ。

MatsuiBin
Page 28: 今日から始めるType script入門

28

CoffeeScript 、少ない記述量で書ける。 JS を 1/3 ぐらいに出来る。

Haxe 、多くの言語に出力できる。コンパイル速い。

JSX 、 JS を高速に出来る。 10% は速くなる

Dart 、 Google が推しているブラウザで動かせる新しい言語

TypeScript 、型が厳密で JS のスーパーセット

MatsuiBin
Page 29: 今日から始めるType script入門

29

今月の Goolge トレンド

MatsuiBin
Page 30: 今日から始めるType script入門

30

TypeScript なら他の AltJS が勝っても ( 全部負けても ) JavaScript の綺麗なコードが残せる。スーパーセットでECMAScript の仕様を先取りしているので知識が無駄になる量も少ないどうなっても損はしない

MatsuiBin
Page 31: 今日から始めるType script入門

31

今後はロードマップを見るとECMAScript6 の文字が多い

MatsuiBin
Page 32: 今日から始めるType script入門

32

ここまでのまとめ

TypeScript は大規模開発向けJavaScript は大規模開発には向いておらず代行手段が色々あるAltJS は群雄割拠。でもどういう結果になっても TypeScriptをやるにはデメリットがない

MatsuiBin
Page 33: 今日から始めるType script入門

33

TypeScript を使うには?

Page 34: 今日から始めるType script入門

34

実際書くにはどうすれば?公式サイトNode.jsVisual Studio各種テキストエディタも対応Eclipse にも対応

MatsuiBin
Page 35: 今日から始めるType script入門

35

Windows の人はやっぱりVisual Studio が一番!無料の「 Visual Studio Express 2013 for Web 」でも使える。Nuget から「 Web Essentials 」をいれると最強

MatsuiBin
Page 36: 今日から始めるType script入門

36

今日のまとめ

TypeScript はアンダース・ヘルスバーグが関わっているTypeScript は JavaScript のスーパーセットでコンパイル可能TypeScript は大規模開発向け。やっておけば損はしない。TypeScript は多くの環境で開発出来るけれど Visual Studio がおススメ!

MatsuiBin
Page 37: 今日から始めるType script入門

37

参考

Visual StudioユーザーのためのTypeScript入門 TypeScriptで学ぶJavaScript入門 特集:TypeScript(プレビュー版)概説モダンな言語でHTML5を開発しよう! 俯瞰して理解する

altJSの比較 (前篇 – TypeScript, CoffeeScript, Haxe) TypeScript + AngularJSでTodoのサンプルを書いてみた既存JavaScriptをTypeScriptとして修正する方法 C#は強い型付けの言語?それとも弱い型付けの言語? 静的型付けでの型推論と動的型付けでの型チェック TypeScript Roadmap TypeScript超入門、Visual Studioで始めるTypeScript開発

入門 TypeScriptリファレンス(書籍)

MatsuiBin
Page 38: 今日から始めるType script入門

38

ご清聴ありがとうございました

MatsuiBin