SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
TypeScript 勉強会


                                    @v vakame


Saturday, January 26, 13
俺の名前を言ってみろ

                       わかめ まさひろ
                                         @v vakame
                           GoogleAppEngine

                               Android

                                  alterJS
Saturday, January 26, 13
アンケート

                           • JavaScriptバリバリです

                           • Java+Servletバリバリです

                           • Java+Androidバリバリです

                           • C言語ならまかせろー!

                           • ハードウェアなら任せろー!


Saturday, January 26, 13
今日の約束

                     • 話の途中でも質問して良い

                           • 挙手はする

                           • JavaScriptの質問でもまぁよし

                     • Twitterをちょっと盛る

                           • #tsjpstudy


Saturday, January 26, 13
Webアプリの時代
                           • Webアプリがどんどんリッチに
                            • Google Maps
                            • GoogleApps
                            • Facebook
                           • 大規模開発の必要性
                            • コードたくさん
                            • 関係者多数
                           • サーバの土管化 (JSON吐く機械)

Saturday, January 26, 13
JavaScript sucks!
                           • JavaScriptは確かに良い言語だよ
                           • しかし腐ってる部分もクソ多い
                           • packageとかnamespaceとかない
                            • 綺麗なコード書ける=上級者
                           • prototypeのOOP??ナニソレ
                           • 型( ゚!゚)クレ 動的型付とかないわ
                           • なのにブラウザ上で動くのはJSだけ

Saturday, January 26, 13
TypeScriptって?
                     • Anders Hejlsberg開発
                           • MSのC#の作者
                     • JavaScriptに変換して実行する
                     • ECMAScript6を意識
                           • 未来が来ないなら俺が行く!
                           • 現行ブラウザは 3.1 がほとんど
                           • JavaScriptはイケてない!

Saturday, January 26, 13
TypeScript the Great
                           • JSのSuperSet(上位互換)だよ!
                            • 全てのJSはTypeScriptである
                           • 可読性の高い変換後JSコード
                           • moduleあるよ!
                           • classもあるよ!継承もあるよ!
                           • 型もあるよ!
                           • 既存の資産も捨てなくて済むよ!
                           • TypeScriptはロックインもされない!

Saturday, January 26, 13
型がある
                           • リファクタリングした時安心

                           • IDEが賢くなる余地が大きい

                            • シンボルのリネーム

                            • メソッドシグニチャの変更

                            • 100%アクセス可能な要素のみ補完

                           • 作り始めた時 != 設計の決定

Saturday, January 26, 13
TypeScript以外は?

                           • まとめて alterJS と呼ばれるらしい

                           • CoffeeScript
                           • Dart
                           • JSX
                           • Haxe



Saturday, January 26, 13
CoffeeScriptは?
                           • Better JavaScript
                           • インデントベース
                           • 可読性の高い変換後JSコード
                           • Railsで標準採用
                           • classベースのOOP
                           • 既存の資産も活かせる
                           • TG社でもみんなが使ってる
                           • 惜しむらくは型がない!

Saturday, January 26, 13
Dartは?
                           • Google先生が作ってる
                           • 将来的にJavaScriptを完全に置き換え
                           • 全く別言語からの変換
                            • 変換後JSはかなり読めない
                           • Dartにロックインされる
                           • IDEが並行で開発されている!!
                           • 言語仕様が後発のくせに芋っぽい
Saturday, January 26, 13
JSXは?
                           • DeNAが作ってる

                           • 動作速度最優先!強力な最適化!

                           • それなりにES6っぽい見た目

                            • 変換後JSはかなり読めない

                           • 開発のリソースがちょっと足りなさげ

Saturday, January 26, 13
Haxeは?
                           • OCamlで書かれている

                           • 言語仕様的にはかなり美しい

                           • 変換後JSはかなり読めない

                           • 色々な言語に変換できる

                           • 優秀なIDEがWindowsにしかない

Saturday, January 26, 13
まとめ
       CoffeeScript
           僕Python派閥なんで…
       Dart
                     そもそもJavaScript捨てる予定だしー
       JSX
                     お前に足りないものは情熱思想理念頭脳気品優
       Haxe
          僕JS以外にも狙い定めてるし僕の言語仕様
                     超美しいよ!なんてったってOCamlだしね!
       TypeScript
           JavaScript後進の優等生ざます
Saturday, January 26, 13
残念ながら…


         JavaScriptわからずに開発できるほど甘くはないぜ
                JavaScriptも基本教養として学習しましょう。
                              TypeScriptを踏み台にするのは大アリ




Saturday, January 26, 13
TypeScriptの実践へ



Saturday, January 26, 13
既存資産の活用
                           • 型指定ファイルを作成

                            • xxx.d.ts という拡張子

                           • お手本はたくさんある

                           • 普通のtsコンパイルで.d.tsの出力も

                           • Roadmapでは0.9.xで集積サイトが

Saturday, January 26, 13
TypeScript実装
                           • この後松崎さんから詳しく

                           • TypeScriptはTypeScriptで書かれてる

                            • コンパイラ = JavaScript

                            • ブラウザ上でコンパイラが動く!

                             • Playground
                            • あとまぁNode.jsでも動く

Saturday, January 26, 13
構造的部分型

                           • シグニチャあってればまぁいいか

                           • interface Hoge { name: string }
                           • function foo(hoge: Hoge) { ... }
                           • foo({ name: “羊”}); // OK!

                           • このお陰で既存資産の活用が現実的


Saturday, January 26, 13
ライブコーディング!


                           • 時間ある?

                           • GAE/J&Slim3 + TypeScript&AngularJS
                           • 作りかけのアプリに1機能追加してみる




Saturday, January 26, 13
参考
                     • G+ TypeScript
                           • http://vvaka.me/U0LuCB
                     • わかめはてブ

                           • http://vvaka.me/WOYMmL
                     • TypeScript クイックガイド

                           • http://phyzkit.net/typescript/

Saturday, January 26, 13
参考
                     • Playground
                      • http://www.typescriptlang.org/
                         Playground/
                     • Spec
                      • http://vvaka.me/UL7KUz
                     • DefinitelyTyped
                      • http://vvaka.me/WYHzGT
                     • 今日の元ネタ
                           • http://vvaka.me/VokmDn

Saturday, January 26, 13

Weitere ähnliche Inhalte

Was ist angesagt?

真にスレッドセーフなHash mapとは #渋谷java
真にスレッドセーフなHash mapとは  #渋谷java真にスレッドセーフなHash mapとは  #渋谷java
真にスレッドセーフなHash mapとは #渋谷java
Hiroyuki Ohnaka
 
GopherJS + Nashorn
GopherJS + NashornGopherJS + Nashorn
GopherJS + Nashorn
Takuya Ueda
 
20101009 gunma.web#2 スタパさんをつくるはなし
20101009 gunma.web#2 スタパさんをつくるはなし20101009 gunma.web#2 スタパさんをつくるはなし
20101009 gunma.web#2 スタパさんをつくるはなし
ivoryworks .
 
2010/11/16 WebプログラマのためのScala入門勉強会@渋谷
2010/11/16 WebプログラマのためのScala入門勉強会@渋谷2010/11/16 WebプログラマのためのScala入門勉強会@渋谷
2010/11/16 WebプログラマのためのScala入門勉強会@渋谷
wpscala
 

Was ist angesagt? (20)

MongoDBの可能性の話
MongoDBの可能性の話MongoDBの可能性の話
MongoDBの可能性の話
 
初心から一週間で作ってみた Kinesis Client Library for Go
初心から一週間で作ってみた Kinesis Client Library for Go初心から一週間で作ってみた Kinesis Client Library for Go
初心から一週間で作ってみた Kinesis Client Library for Go
 
Database smells
Database smellsDatabase smells
Database smells
 
Meguro es7
Meguro es7Meguro es7
Meguro es7
 
わたしのRubyの楽しみかた
わたしのRubyの楽しみかたわたしのRubyの楽しみかた
わたしのRubyの楽しみかた
 
R stan導入公開版
R stan導入公開版R stan導入公開版
R stan導入公開版
 
真にスレッドセーフなHash mapとは #渋谷java
真にスレッドセーフなHash mapとは  #渋谷java真にスレッドセーフなHash mapとは  #渋谷java
真にスレッドセーフなHash mapとは #渋谷java
 
データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831
 データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831 データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831
データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831
 
LT Leap MotionとJavaScriptで遊ぼう!
LT Leap MotionとJavaScriptで遊ぼう!LT Leap MotionとJavaScriptで遊ぼう!
LT Leap MotionとJavaScriptで遊ぼう!
 
GopherJS + Nashorn
GopherJS + NashornGopherJS + Nashorn
GopherJS + Nashorn
 
片手間JS on Rails
片手間JS on Rails片手間JS on Rails
片手間JS on Rails
 
30億のデバイスで走るjavaを支えるjavaエコシステム
30億のデバイスで走るjavaを支えるjavaエコシステム30億のデバイスで走るjavaを支えるjavaエコシステム
30億のデバイスで走るjavaを支えるjavaエコシステム
 
20101009 gunma.web#2 スタパさんをつくるはなし
20101009 gunma.web#2 スタパさんをつくるはなし20101009 gunma.web#2 スタパさんをつくるはなし
20101009 gunma.web#2 スタパさんをつくるはなし
 
2010/11/16 WebプログラマのためのScala入門勉強会@渋谷
2010/11/16 WebプログラマのためのScala入門勉強会@渋谷2010/11/16 WebプログラマのためのScala入門勉強会@渋谷
2010/11/16 WebプログラマのためのScala入門勉強会@渋谷
 
mozaicfm-ep8 #altJS @ll-diver
mozaicfm-ep8 #altJS @ll-divermozaicfm-ep8 #altJS @ll-diver
mozaicfm-ep8 #altJS @ll-diver
 
クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介
 
非ガチ勢「よし、Coffee script使おう!」
非ガチ勢「よし、Coffee script使おう!」非ガチ勢「よし、Coffee script使おう!」
非ガチ勢「よし、Coffee script使おう!」
 
PHPでWebSocketを実装してみてわかったこと
PHPでWebSocketを実装してみてわかったことPHPでWebSocketを実装してみてわかったこと
PHPでWebSocketを実装してみてわかったこと
 
WebVR空間の巨大スクリーンでteratailを見れるか試してみた話
WebVR空間の巨大スクリーンでteratailを見れるか試してみた話WebVR空間の巨大スクリーンでteratailを見れるか試してみた話
WebVR空間の巨大スクリーンでteratailを見れるか試してみた話
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
 

Ähnlich wie TypeScript 勉強会

JavascriptでRubyの作り方
JavascriptでRubyの作り方JavascriptでRubyの作り方
JavascriptでRubyの作り方
Shuyo Nakatani
 
Scala.jsはじめました!
Scala.jsはじめました!Scala.jsはじめました!
Scala.jsはじめました!
K Kinzal
 
LL Planets: JavaScript八面六臂
LL Planets: JavaScript八面六臂LL Planets: JavaScript八面六臂
LL Planets: JavaScript八面六臂
masayoshi takahashi
 

Ähnlich wie TypeScript 勉強会 (20)

Slimの紹介
Slimの紹介Slimの紹介
Slimの紹介
 
JavascriptでRubyの作り方
JavascriptでRubyの作り方JavascriptでRubyの作り方
JavascriptでRubyの作り方
 
AngularJS+TypeScript - AngularJS 1周年記念勉強会
AngularJS+TypeScript - AngularJS 1周年記念勉強会AngularJS+TypeScript - AngularJS 1周年記念勉強会
AngularJS+TypeScript - AngularJS 1周年記念勉強会
 
Scala.jsはじめました!
Scala.jsはじめました!Scala.jsはじめました!
Scala.jsはじめました!
 
LL Planets: JavaScript八面六臂
LL Planets: JavaScript八面六臂LL Planets: JavaScript八面六臂
LL Planets: JavaScript八面六臂
 
OpenLayersで始める地図の操作
OpenLayersで始める地図の操作OpenLayersで始める地図の操作
OpenLayersで始める地図の操作
 
ミニマムswfエンジン for iOS
ミニマムswfエンジン for iOSミニマムswfエンジン for iOS
ミニマムswfエンジン for iOS
 
名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道
 
Node.jsに縁のない職場でnode.jsを使い始める戦術
Node.jsに縁のない職場でnode.jsを使い始める戦術Node.jsに縁のない職場でnode.jsを使い始める戦術
Node.jsに縁のない職場でnode.jsを使い始める戦術
 
Dark vol4 for_slideshare
Dark vol4 for_slideshareDark vol4 for_slideshare
Dark vol4 for_slideshare
 
javascript を Xcode でテスト
javascript を Xcode でテストjavascript を Xcode でテスト
javascript を Xcode でテスト
 
Concurrent Programm in JavaScript
Concurrent Programm in JavaScriptConcurrent Programm in JavaScript
Concurrent Programm in JavaScript
 
Concurrent Programming in JavaScript
Concurrent Programming in JavaScriptConcurrent Programming in JavaScript
Concurrent Programming in JavaScript
 
JavaScriptことはじめ
JavaScriptことはじめJavaScriptことはじめ
JavaScriptことはじめ
 
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
 
Rxjavaとoptionalで関数型androidしよう
Rxjavaとoptionalで関数型androidしようRxjavaとoptionalで関数型androidしよう
Rxjavaとoptionalで関数型androidしよう
 
春のJavaScript祭り
春のJavaScript祭り春のJavaScript祭り
春のJavaScript祭り
 
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたサーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
 
Hyper → Highspeed → Development
Hyper → Highspeed → DevelopmentHyper → Highspeed → Development
Hyper → Highspeed → Development
 
Sprocketsを捨てたい
Sprocketsを捨てたいSprocketsを捨てたい
Sprocketsを捨てたい
 

Mehr von Masahiro Wakame

Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDKGoogle Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
Masahiro Wakame
 
コンパイラ指向ReVIEW
コンパイラ指向ReVIEWコンパイラ指向ReVIEW
コンパイラ指向ReVIEW
Masahiro Wakame
 
Google Glassでできること XE11版 最新開発情報 Mirror API & GDK
Google Glassでできること XE11版 最新開発情報 Mirror API & GDKGoogle Glassでできること XE11版 最新開発情報 Mirror API & GDK
Google Glassでできること XE11版 最新開発情報 Mirror API & GDK
Masahiro Wakame
 
ReVIEW & CI - ChefでCI環境構築
ReVIEW & CI - ChefでCI環境構築ReVIEW & CI - ChefでCI環境構築
ReVIEW & CI - ChefでCI環境構築
Masahiro Wakame
 
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例までBuildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Masahiro Wakame
 
Datastoreへのアクセスを楽してMemcacheアクセスに置き換えるライブラリ作った
Datastoreへのアクセスを楽してMemcacheアクセスに置き換えるライブラリ作ったDatastoreへのアクセスを楽してMemcacheアクセスに置き換えるライブラリ作った
Datastoreへのアクセスを楽してMemcacheアクセスに置き換えるライブラリ作った
Masahiro Wakame
 
函館IKA Eclipse活用術
函館IKA Eclipse活用術函館IKA Eclipse活用術
函館IKA Eclipse活用術
Masahiro Wakame
 
函館IKA ICS開発情報
函館IKA ICS開発情報函館IKA ICS開発情報
函館IKA ICS開発情報
Masahiro Wakame
 

Mehr von Masahiro Wakame (20)

GoCon2016 spring 自作Webフレームワーク uconを作った話
GoCon2016 spring 自作Webフレームワーク uconを作った話GoCon2016 spring 自作Webフレームワーク uconを作った話
GoCon2016 spring 自作Webフレームワーク uconを作った話
 
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
GoCon 2015 Summer GoのASTをいじくって新しいツールを作るGoCon 2015 Summer GoのASTをいじくって新しいツールを作る
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
 
TypeScriptは明日から使うべき
TypeScriptは明日から使うべきTypeScriptは明日から使うべき
TypeScriptは明日から使うべき
 
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
 
Google Glass XE17版
Google Glass XE17版Google Glass XE17版
Google Glass XE17版
 
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDKGoogle Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
 
コンパイラ指向ReVIEW
コンパイラ指向ReVIEWコンパイラ指向ReVIEW
コンパイラ指向ReVIEW
 
20ヶ月を取り戻す Dart flight school
20ヶ月を取り戻す Dart flight school20ヶ月を取り戻す Dart flight school
20ヶ月を取り戻す Dart flight school
 
TypeScript 独習会
TypeScript 独習会TypeScript 独習会
TypeScript 独習会
 
Google Glassでできること XE11版 最新開発情報 Mirror API & GDK
Google Glassでできること XE11版 最新開発情報 Mirror API & GDKGoogle Glassでできること XE11版 最新開発情報 Mirror API & GDK
Google Glassでできること XE11版 最新開発情報 Mirror API & GDK
 
CEATEC Glassware(Google Glassアプリ)開発の指南と開発事例
CEATEC Glassware(Google Glassアプリ)開発の指南と開発事例CEATEC Glassware(Google Glassアプリ)開発の指南と開発事例
CEATEC Glassware(Google Glassアプリ)開発の指南と開発事例
 
ReVIEW & CI - ChefでCI環境構築
ReVIEW & CI - ChefでCI環境構築ReVIEW & CI - ChefでCI環境構築
ReVIEW & CI - ChefでCI環境構築
 
Firefox OS勉強会 2nd TypeScript+AngularJS
Firefox OS勉強会 2nd TypeScript+AngularJSFirefox OS勉強会 2nd TypeScript+AngularJS
Firefox OS勉強会 2nd TypeScript+AngularJS
 
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例までBuildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
 
俺とお前とGoogleware
俺とお前とGoogleware俺とお前とGoogleware
俺とお前とGoogleware
 
Datastoreへのアクセスを楽してMemcacheアクセスに置き換えるライブラリ作った
Datastoreへのアクセスを楽してMemcacheアクセスに置き換えるライブラリ作ったDatastoreへのアクセスを楽してMemcacheアクセスに置き換えるライブラリ作った
Datastoreへのアクセスを楽してMemcacheアクセスに置き換えるライブラリ作った
 
わかめモナ化LT
わかめモナ化LTわかめモナ化LT
わかめモナ化LT
 
NFC app launcher
NFC app launcherNFC app launcher
NFC app launcher
 
函館IKA Eclipse活用術
函館IKA Eclipse活用術函館IKA Eclipse活用術
函館IKA Eclipse活用術
 
函館IKA ICS開発情報
函館IKA ICS開発情報函館IKA ICS開発情報
函館IKA ICS開発情報
 

TypeScript 勉強会

  • 1. TypeScript 勉強会 @v vakame Saturday, January 26, 13
  • 2. 俺の名前を言ってみろ わかめ まさひろ @v vakame GoogleAppEngine Android alterJS Saturday, January 26, 13
  • 3. アンケート • JavaScriptバリバリです • Java+Servletバリバリです • Java+Androidバリバリです • C言語ならまかせろー! • ハードウェアなら任せろー! Saturday, January 26, 13
  • 4. 今日の約束 • 話の途中でも質問して良い • 挙手はする • JavaScriptの質問でもまぁよし • Twitterをちょっと盛る • #tsjpstudy Saturday, January 26, 13
  • 5. Webアプリの時代 • Webアプリがどんどんリッチに • Google Maps • GoogleApps • Facebook • 大規模開発の必要性 • コードたくさん • 関係者多数 • サーバの土管化 (JSON吐く機械) Saturday, January 26, 13
  • 6. JavaScript sucks! • JavaScriptは確かに良い言語だよ • しかし腐ってる部分もクソ多い • packageとかnamespaceとかない • 綺麗なコード書ける=上級者 • prototypeのOOP??ナニソレ • 型( ゚!゚)クレ 動的型付とかないわ • なのにブラウザ上で動くのはJSだけ Saturday, January 26, 13
  • 7. TypeScriptって? • Anders Hejlsberg開発 • MSのC#の作者 • JavaScriptに変換して実行する • ECMAScript6を意識 • 未来が来ないなら俺が行く! • 現行ブラウザは 3.1 がほとんど • JavaScriptはイケてない! Saturday, January 26, 13
  • 8. TypeScript the Great • JSのSuperSet(上位互換)だよ! • 全てのJSはTypeScriptである • 可読性の高い変換後JSコード • moduleあるよ! • classもあるよ!継承もあるよ! • 型もあるよ! • 既存の資産も捨てなくて済むよ! • TypeScriptはロックインもされない! Saturday, January 26, 13
  • 9. 型がある • リファクタリングした時安心 • IDEが賢くなる余地が大きい • シンボルのリネーム • メソッドシグニチャの変更 • 100%アクセス可能な要素のみ補完 • 作り始めた時 != 設計の決定 Saturday, January 26, 13
  • 10. TypeScript以外は? • まとめて alterJS と呼ばれるらしい • CoffeeScript • Dart • JSX • Haxe Saturday, January 26, 13
  • 11. CoffeeScriptは? • Better JavaScript • インデントベース • 可読性の高い変換後JSコード • Railsで標準採用 • classベースのOOP • 既存の資産も活かせる • TG社でもみんなが使ってる • 惜しむらくは型がない! Saturday, January 26, 13
  • 12. Dartは? • Google先生が作ってる • 将来的にJavaScriptを完全に置き換え • 全く別言語からの変換 • 変換後JSはかなり読めない • Dartにロックインされる • IDEが並行で開発されている!! • 言語仕様が後発のくせに芋っぽい Saturday, January 26, 13
  • 13. JSXは? • DeNAが作ってる • 動作速度最優先!強力な最適化! • それなりにES6っぽい見た目 • 変換後JSはかなり読めない • 開発のリソースがちょっと足りなさげ Saturday, January 26, 13
  • 14. Haxeは? • OCamlで書かれている • 言語仕様的にはかなり美しい • 変換後JSはかなり読めない • 色々な言語に変換できる • 優秀なIDEがWindowsにしかない Saturday, January 26, 13
  • 15. まとめ CoffeeScript 僕Python派閥なんで… Dart そもそもJavaScript捨てる予定だしー JSX お前に足りないものは情熱思想理念頭脳気品優 Haxe 僕JS以外にも狙い定めてるし僕の言語仕様 超美しいよ!なんてったってOCamlだしね! TypeScript JavaScript後進の優等生ざます Saturday, January 26, 13
  • 16. 残念ながら… JavaScriptわからずに開発できるほど甘くはないぜ JavaScriptも基本教養として学習しましょう。 TypeScriptを踏み台にするのは大アリ Saturday, January 26, 13
  • 18. 既存資産の活用 • 型指定ファイルを作成 • xxx.d.ts という拡張子 • お手本はたくさんある • 普通のtsコンパイルで.d.tsの出力も • Roadmapでは0.9.xで集積サイトが Saturday, January 26, 13
  • 19. TypeScript実装 • この後松崎さんから詳しく • TypeScriptはTypeScriptで書かれてる • コンパイラ = JavaScript • ブラウザ上でコンパイラが動く! • Playground • あとまぁNode.jsでも動く Saturday, January 26, 13
  • 20. 構造的部分型 • シグニチャあってればまぁいいか • interface Hoge { name: string } • function foo(hoge: Hoge) { ... } • foo({ name: “羊”}); // OK! • このお陰で既存資産の活用が現実的 Saturday, January 26, 13
  • 21. ライブコーディング! • 時間ある? • GAE/J&Slim3 + TypeScript&AngularJS • 作りかけのアプリに1機能追加してみる Saturday, January 26, 13
  • 22. 参考 • G+ TypeScript • http://vvaka.me/U0LuCB • わかめはてブ • http://vvaka.me/WOYMmL • TypeScript クイックガイド • http://phyzkit.net/typescript/ Saturday, January 26, 13
  • 23. 参考 • Playground • http://www.typescriptlang.org/ Playground/ • Spec • http://vvaka.me/UL7KUz • DefinitelyTyped • http://vvaka.me/WYHzGT • 今日の元ネタ • http://vvaka.me/VokmDn Saturday, January 26, 13