SlideShare a Scribd company logo
TypeScriptで作る
型安全FirefoxOSアプリ
2013/7/19 関東Firefox OS勉強会 2nd
ぷろぐれ
アジェンダ
• 自己紹介
• なぜTypeScriptなのか
• 実際のコードとデモ
CreateJSも使って
ゲーム?を作ってみまし
た
自己紹介
• ぷろぐれ @progremaster
• HP: http://www.prgrssv.net
• 新卒3年目
• C#とかJavaとかが好き モバイルはほとんどやってない
• PeerCastというストリーミング配信ソフトで
ライブコーディング配信を5年くらいやっています。
http://dp.prgrssv.net ライブコーディングをやっていただける
プロい方を探しています
なぜTypeScriptなのか
@dynamitter http://www.slideshare.net/dynamis/firefox-os-app-
dev
FirefoxOSのアプリ
JavaScriptです。
JavaScriptです。
JavaScriptです。
大事なこと3回
JavaScript
他のモバイルアプリの言語と違う
使いにくい
• 型がない
• クラスがない
• 即時関数
• その他落とし穴多数
エンバグしやす
い
柔軟すぎる
Javaと
か
Objective-Cとか C#とか
JavaScript
JavaScript 怖い
↓
Webアプリ怖い
↓
FirefoxOSアプリ怖い
何とかできないか?
• CoffeeScript
• Haxe
• JSX
• Dart
altJS
altJS = コンパイルしてJavaScriptになる言語
型が無い…
型はあるけど
別言語…
• TypeScript
なぜTypeScriptなのか
• APIが完全互換・構文が上位互換(一部ES6互換)
• JavaScriptのノウハウが活きる
• 型付き
• エラーチェックで品質を底上げできる
• インテリセンス(入力補完)
class Xxxx
{
...
}
() => { ... }
Visual Studio
WebStorm
他
互換性 型
付
き
API 構文
CoffeeScript ○ × ×
Haxe × △ ○
JSX △ △ ○
Dart × × ○
TypeScript ○ ○ ○
なぜTypeScriptなのか
なぜTypeScriptなのか
• その他
• アンダース・ヘルスバーグ氏率いるMicrosoftが開発
• 出力JavaScriptが美しい
• 良いJavaScriptコードのお手本レベル
• Node・RequireJSのモジュールを出力可能
• ゆるいinterface
Delphi C#の父
実際のコードとデモ
TypeScript/CreateJS+RequireJS
パッケージ型アプリ
プロジェクト
ディレクトリ
FirefoxOSアプリ
TypeScript
型定義
(C言語の
ヘッダーに相当)
ビルド設定
テスト用Webサーバー
(割愛)
https://github.com
/progre/hiyokorun
TypeScript JavaScript
デモ
https://marketplace.firefox.com/app/chickens-race/
所感
• 型があると安心
• VisualStudioのバグ
• メモリリーク・型情報の引き当て
• Webアプリそのまんま過ぎ
• この勉強会何の勉強会だっけ?
V1.0に期待!
まとめ
TypeScript = 型があってクラスがあって怖くないJavaScript
↓
Webアプリ怖くない!
↓
FirefoxOSアプリ怖くない!
参考資料
• altJS - Web coding without JavaScript.
• http://altjs.org
• Top Languages · GitHub
• https://github.com/languages/
• ES Wiki
• http://wiki.ecmascript.org/doku.php
• TypeScript
• http://www.typescriptlang.org/
参考資料
• JavaScriptを書くならTypeScriptを使え! - 部屋とボー
ドゲームと私と酒と泪と男と女
• https://sites.google.com/site/jun1sboardgames/programming/typescript
• TypeScriptクイックガイド
• http://phyzkit.net/typescript/index.html
• AngularJS+TypeScript
• http://www.slideshare.net/vvakame/angularjs-1year?from_search=11
ご清聴ありがとうございました

More Related Content

What's hot (20)

PDF
Firefox OS勉強会 2nd TypeScript+AngularJS
Masahiro Wakame
 
PPTX
Bait and switch
m ishizaki
 
PDF
Hello Ruby
Takahiro KUREBAYASHI
 
PDF
簡単!Groovy入門
Lee Choong Geun
 
PPTX
超効率的フロントエンドデバッグ術
Shinji Hashimoto
 
PPTX
私が ASP.NET を選ぶ理由
m ishizaki
 
PDF
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
Hiroshi Toda
 
PPTX
僕がLasta flute選んだ理由
Yuichiro Kawano
 
PDF
「プログラミングGroovy」入門(公開用)
orange clover
 
PPTX
Rails5クイックスタート
Hirata Tomoko
 
PDF
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
parrotstudio
 
PDF
Rubyを使ったスマホアプリのUIテスト
Kenichi Tatsuhama
 
PPTX
Electronからはじめるnodejs
Hirata Tomoko
 
PDF
JavaScriptと関数型言語
Hideaki Miyake
 
PDF
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Shinichi Okada
 
PPTX
TypeScript 1.0 Released!
Horuchi Hiroki
 
PPTX
Rails+Markdownでなにかつくる
Hirata Tomoko
 
PDF
「Microbit」で簡単プログラミング体験
はなずきん Hana
 
PPTX
TypeScriptの大規模開発への適用
JustSystems Corporation
 
PPTX
CodeIgniter3マニュアル和訳の方法と感想
Akishige TAKEKOSHI
 
Firefox OS勉強会 2nd TypeScript+AngularJS
Masahiro Wakame
 
Bait and switch
m ishizaki
 
簡単!Groovy入門
Lee Choong Geun
 
超効率的フロントエンドデバッグ術
Shinji Hashimoto
 
私が ASP.NET を選ぶ理由
m ishizaki
 
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
Hiroshi Toda
 
僕がLasta flute選んだ理由
Yuichiro Kawano
 
「プログラミングGroovy」入門(公開用)
orange clover
 
Rails5クイックスタート
Hirata Tomoko
 
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
parrotstudio
 
Rubyを使ったスマホアプリのUIテスト
Kenichi Tatsuhama
 
Electronからはじめるnodejs
Hirata Tomoko
 
JavaScriptと関数型言語
Hideaki Miyake
 
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Shinichi Okada
 
TypeScript 1.0 Released!
Horuchi Hiroki
 
Rails+Markdownでなにかつくる
Hirata Tomoko
 
「Microbit」で簡単プログラミング体験
はなずきん Hana
 
TypeScriptの大規模開発への適用
JustSystems Corporation
 
CodeIgniter3マニュアル和訳の方法と感想
Akishige TAKEKOSHI
 

Viewers also liked (20)

PPTX
Peercastハッカソンへようこそ!
progre
 
PPTX
20140712 knockoutjs-hands-on-in-osaka
Seiji Noro
 
PDF
ASP.NET シングル ページ アプリケーション (SPA) 詳説
Akira Inoue
 
PDF
最近、リアルタイムWebが面白い
Narami Kiyokura
 
PPTX
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んで
Shumpei Shiraishi
 
PPTX
秒速一億円
Shumpei Shiraishi
 
PDF
20140823 LL diver Angular.js で構築した note に関して
Shoei Takamaru
 
PPTX
はじめにことばありき
Shumpei Shiraishi
 
PPTX
「それでも人生にイエスと言う」を読んで
Shumpei Shiraishi
 
PPTX
HTML5がもたらすアプリ開発へのインパクト
Shumpei Shiraishi
 
PDF
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
Akira Inoue
 
PDF
[予告篇] みんなで同時プレイするクイズWebアプリでCodeQuizに挑戦!
Jun-ichi Sakamoto
 
PDF
CLR/H#74 LT IT勉強会発表用イチオシツール
Jun-ichi Sakamoto
 
PDF
Gulp ことはじめ
Kyohei Morimoto
 
PPTX
「それでも人生にイエスと言う」を読んで
Shumpei Shiraishi
 
PDF
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトーク
Jun-ichi Sakamoto
 
PDF
Introduction of "MarkdownPresenter"
Jun-ichi Sakamoto
 
PPTX
Reactive Programming
maruyama097
 
PDF
AngularJS 2.0 Jumpstart
Filipe Falcão
 
PPT
20130921レジュメ2
Shumpei Shiraishi
 
Peercastハッカソンへようこそ!
progre
 
20140712 knockoutjs-hands-on-in-osaka
Seiji Noro
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
Akira Inoue
 
最近、リアルタイムWebが面白い
Narami Kiyokura
 
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んで
Shumpei Shiraishi
 
秒速一億円
Shumpei Shiraishi
 
20140823 LL diver Angular.js で構築した note に関して
Shoei Takamaru
 
はじめにことばありき
Shumpei Shiraishi
 
「それでも人生にイエスと言う」を読んで
Shumpei Shiraishi
 
HTML5がもたらすアプリ開発へのインパクト
Shumpei Shiraishi
 
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
Akira Inoue
 
[予告篇] みんなで同時プレイするクイズWebアプリでCodeQuizに挑戦!
Jun-ichi Sakamoto
 
CLR/H#74 LT IT勉強会発表用イチオシツール
Jun-ichi Sakamoto
 
Gulp ことはじめ
Kyohei Morimoto
 
「それでも人生にイエスと言う」を読んで
Shumpei Shiraishi
 
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトーク
Jun-ichi Sakamoto
 
Introduction of "MarkdownPresenter"
Jun-ichi Sakamoto
 
Reactive Programming
maruyama097
 
AngularJS 2.0 Jumpstart
Filipe Falcão
 
20130921レジュメ2
Shumpei Shiraishi
 
Ad

Similar to TypeScriptで作る型安全FirefoxOSアプリ (20)

PDF
TypeScript 言語処理系ことはじめ
Yu Nobuoka
 
PDF
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
PDF
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
PDF
TypeScript 1.0 オーバービュー
Akira Inoue
 
PDF
AngularJS+TypeScript - AngularJS 1周年記念勉強会
Masahiro Wakame
 
PDF
TypeScriptへの入口
Sunao Tomita
 
PDF
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Akira Inoue
 
PDF
TypeScript 勉強会
Masahiro Wakame
 
PDF
Visual Studio Codeで始めるTypeScript
Akira Inoue
 
PPTX
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
慎一 古賀
 
PPTX
TypeScriptハンズオン第1回テキスト
mizuky fujitani
 
PDF
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Masahiro Wakame
 
PDF
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
 
PDF
TypeScript で型を上手く使う試み.pdf
Ryo Higashigawa
 
PPTX
TypeScriptをオススメする理由
Yusuke Naka
 
PDF
3日時間をもらったのでTypeScriptを触ってみた
Yasushi Kato
 
PDF
pairsでのAngularJS x TypeScript x e2e @めぐすた#1
Takuma Morikawa
 
PPTX
JavaScript使いのためのTypeScript実践入門
Shumpei Shiraishi
 
PPTX
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
 
PDF
Type scriptのいいところ
Kazuhide Maruyama
 
TypeScript 言語処理系ことはじめ
Yu Nobuoka
 
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
TypeScript 1.0 オーバービュー
Akira Inoue
 
AngularJS+TypeScript - AngularJS 1周年記念勉強会
Masahiro Wakame
 
TypeScriptへの入口
Sunao Tomita
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Akira Inoue
 
TypeScript 勉強会
Masahiro Wakame
 
Visual Studio Codeで始めるTypeScript
Akira Inoue
 
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
慎一 古賀
 
TypeScriptハンズオン第1回テキスト
mizuky fujitani
 
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Masahiro Wakame
 
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
 
TypeScript で型を上手く使う試み.pdf
Ryo Higashigawa
 
TypeScriptをオススメする理由
Yusuke Naka
 
3日時間をもらったのでTypeScriptを触ってみた
Yasushi Kato
 
pairsでのAngularJS x TypeScript x e2e @めぐすた#1
Takuma Morikawa
 
JavaScript使いのためのTypeScript実践入門
Shumpei Shiraishi
 
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
 
Type scriptのいいところ
Kazuhide Maruyama
 
Ad

Recently uploaded (9)

PPTX
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
iPride Co., Ltd.
 
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
 
PPTX
色について.pptx .
iPride Co., Ltd.
 
PPTX
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
iPride Co., Ltd.
 
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
 
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
 
PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
 
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
 
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
 
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
iPride Co., Ltd.
 
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
 
色について.pptx .
iPride Co., Ltd.
 
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
iPride Co., Ltd.
 
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
 
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
 
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
 
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
 
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
 

TypeScriptで作る型安全FirefoxOSアプリ