SlideShare a Scribd company logo
1 of 24
TypeScriptについて
2014年08月02日
©越後屋 1
自己紹介
©越後屋 2
長濱 義道
別名、越後屋です。
主にBtoBプロジェクトのPMやってます。
PMP(Project Management Professional) #1416635
コーディングは好きですが、第一線は退いています。(という体)
プレイングマネージャなんてものは身も心もプロジェクトも潰します。
最近は技術者のはずなのにしゃべって食べている感がとてもあります。
Twitter:gnanormal
真面目に仕事関係のつぶやきをしています。
Agenda
• はじめに
• TypeScriptとは
• 他のAltJSとの比較
• 結果
• まとめ
©越後屋 3
はじめに
 概要説明が主目的のため、
サンプルソースなどは用意していません
 TypeScriptの細かい言語仕様、文法については
割愛させていただきます
 AngularJSについては @itoKami1123さんへ
©越後屋 4
TypeScriptとは
・JavaScriptのシンタックスシュガー
(CoffeeScriptの後発)
・大規模開発向け
(設計思想として明文化)
・JavaScript / C# / Javaを混ぜたカンジ
(言語仕様 / 文法 / 文法)
・オープンソース(Apache Lisence2.0)
・ECMAScript準拠(3/5/6※6は草案、一部先行対応)
©越後屋 5
TypeScriptじゃなきゃダメ?
CoffeeScript
TypeScriptと直接競合する言語
Haxe
福岡では結構盛んな高機能言語
Dart
訴訟に関係してかGoogleが力を入れている言語
JSX
ゲームを主眼としたDeNA開発言語
©越後屋 6
TypeScriptじゃなきゃダメ?
©越後屋 7
出典:今、本当に人気がある「JavaScriptライブラリ&ツール」を調べてみた デジタルアドバンテージ 一色 政彦
TypeScriptじゃなきゃダメ?
©越後屋 8
比較
メリット デメリット
CoffeScript ・実績が多い ・文法、生成物に難あり
・型なし
Haxe ・厳格な型
・成熟度
・1つのファイルに出力
Dart ・高機能 ・主要ブラウザ非対応
・コンパイラに難あり
JSX ・高速処理 ・外部参照しにくい
・依存関係に問題
©越後屋 9
※いろいろ言いすぎると各方面からお叱りを受けそうなのでこれくらいにさせてください
つまり…
TypeScriptは
BtoBプロジェクトに一番適している
・機能分割がしやすい※1
・生産効率が高い
・学習コストが低い※2
・保守性が高い
※1 特にTypeScript + AngularJSの場合
※2 AngularJSはちと高い
©越後屋 10
ここからは…
TypeScriptを
もう少しだけ詳しく
©越後屋 11
TypeScriptは
BtoBプロジェクトに一番適している
・機能分割がしやすい
・生産効率が高い
・学習コストが低い
・保守性が高い
©越後屋 12
機能分割
©越後屋 13
・外部モジュールやファイルなどの呼出しが
容易にできます
・AngularJSとの併用でさらにモジュール分割を
明確に行えます
・派生クラスの記述、差別化がしやすいです
TypeScriptは
BtoBプロジェクトに一番適している
・機能分割がしやすい
・生産効率が高い
・学習コストが低い
・保守性が高い
©越後屋 14
生産効率
©越後屋 15
・Visual Studioとの親和性がとても高いです
(インテリセンス、デバッグ機能が超強力)
・オーバーロードできます
・元々あったJavaScriptの移植が簡単です
・これからもっと使いやすくなります
(C#寄りの機能が増えていく予定のようです)
※直近ではasync/await?
TypeScriptは
BtoBプロジェクトに一番適している
・機能分割がしやすい
・生産効率が高い
・学習コストが低い
・保守性が高い
©越後屋 16
学習コスト
©越後屋 17
・JavaScriptの知識は必須です
⇒JavaScriptの知識があればすぐに使えます
JavaScriptを知らない場合でも
JavaやC#の文法を知っていれば
意外に敷居は低いです
(JavaScriptの理解が必要になりますが…)
・IDEのインテリセンス機能が
かなりサポートしてくれます
TypeScriptは
BtoBプロジェクトに一番適している
・機能分割がしやすい
・生産効率が高い
・学習コストが低い
・保守性が高い
©越後屋 18
保守性
©越後屋 19
・コンパイラが強力なため、
実行時のエラーを極力減らせます
・名前空間、クラスや継承が明示化されています
・TypeScriptと生成されたJavaScriptの対比が
しやすいです(JavaScriptは最適化されません)
・機能別に管理できるため
部分リリースしやすいです
でも、MicroSoftだし
お高いんでしょう…
©越後屋 20
IDE
©越後屋 21
・Visual Studio※(無償版あり)
・WebStorm(30日評価版あり)
・Eclipse
・Net Beans
どのIDEもプラグインなどで機能拡張が必要です
※Web Essentials(無償)を追加するとさらに強力になります
まとめ
©越後屋 22
・用途に応じていろいろなAltJSを選択できます
・BtoBだったらTypeScript(+ AngularJS)が
現時点で一番使いやすいかと思います
・Microsoftが絡んでいるからといって
拒否反応を示さないでください
・TypeScriptが廃れたとしても損はしません
採用するかはご自身の責任で(笑)
©越後屋 23
ご清聴ありがとうございました。
なにかありましたら
お気軽に声をかけてください。
参考
書籍
・TypeScript入門 クラスと型チェック機能を加えたJavaScriptの拡張言語 川俣晶
・TypeScriptリファレンス わかめ まさひろ
Webサイト
・TypeScript
・Playground
・TypeScript早わかりチートシート
・TypeScript クイックガイド
・モダンな言語でHTML5を開発しよう! 俯瞰して理解するaltJSの比較 (前篇 –
TypeScript, CoffeeScript, Haxe)
・3日時間をもらったのでTypeScriptを触ってみた
・TypeScript + AngularJS「リソースを使う」
・TypeScript + AngularJSでASP.NETのForm認証を行う
・第 6 回 業開中心会議で ASP.NET と Visual Studio 2013 について話してきました
©越後屋 24

More Related Content

What's hot

複数人でSwift開発を行うには
複数人でSwift開発を行うには複数人でSwift開発を行うには
複数人でSwift開発を行うには
Yuya Fujiwara
 
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話 10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
Masataka Kono
 

What's hot (20)

ググリワードを探す話
ググリワードを探す話ググリワードを探す話
ググリワードを探す話
 
pythonで始める筋トレ(競技プログラミング)
pythonで始める筋トレ(競技プログラミング)pythonで始める筋トレ(競技プログラミング)
pythonで始める筋トレ(競技プログラミング)
 
Pythonで始める競技プログラミング
Pythonで始める競技プログラミングPythonで始める競技プログラミング
Pythonで始める競技プログラミング
 
あと一つプログラミング言語を
覚えたら死ぬ! 脳みそがパンクしそうな
あなたのための
nodeJSことはじめ
あと一つプログラミング言語を
覚えたら死ぬ! 脳みそがパンクしそうな
あなたのための
nodeJSことはじめあと一つプログラミング言語を
覚えたら死ぬ! 脳みそがパンクしそうな
あなたのための
nodeJSことはじめ
あと一つプログラミング言語を
覚えたら死ぬ! 脳みそがパンクしそうな
あなたのための
nodeJSことはじめ
 
ウェブエンジニアとしての1年目を振り返って
ウェブエンジニアとしての1年目を振り返ってウェブエンジニアとしての1年目を振り返って
ウェブエンジニアとしての1年目を振り返って
 
複数人でSwift開発を行うには
複数人でSwift開発を行うには複数人でSwift開発を行うには
複数人でSwift開発を行うには
 
PHPカンファレンス2013 今ドキのPHPの書き方 ~PHP逆引きレシピ改訂版~
PHPカンファレンス2013 今ドキのPHPの書き方 ~PHP逆引きレシピ改訂版~PHPカンファレンス2013 今ドキのPHPの書き方 ~PHP逆引きレシピ改訂版~
PHPカンファレンス2013 今ドキのPHPの書き方 ~PHP逆引きレシピ改訂版~
 
それでもC#使いたい
それでもC#使いたいそれでもC#使いたい
それでもC#使いたい
 
初心者目線でIo t
初心者目線でIo t初心者目線でIo t
初心者目線でIo t
 
MTプラグイン入門以前
MTプラグイン入門以前MTプラグイン入門以前
MTプラグイン入門以前
 
20150116_techwomen
20150116_techwomen20150116_techwomen
20150116_techwomen
 
bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩
 
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解するこれで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
 
Laravelのeloquent だけ入れた話
Laravelのeloquent だけ入れた話Laravelのeloquent だけ入れた話
Laravelのeloquent だけ入れた話
 
Requestsで始める5分前帰社
Requestsで始める5分前帰社Requestsで始める5分前帰社
Requestsで始める5分前帰社
 
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話 10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
 
JavaScriptのテストコード 一緒に勉強しませんか??
JavaScriptのテストコード 一緒に勉強しませんか??JavaScriptのテストコード 一緒に勉強しませんか??
JavaScriptのテストコード 一緒に勉強しませんか??
 
ハンズオン入門
ハンズオン入門ハンズオン入門
ハンズオン入門
 
歴史あるWebサービスに携わって2年半の間に起きた事やった事
歴史あるWebサービスに携わって2年半の間に起きた事やった事歴史あるWebサービスに携わって2年半の間に起きた事やった事
歴史あるWebサービスに携わって2年半の間に起きた事やった事
 
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
 

Viewers also liked

Type scriptのいいところ
Type scriptのいいところType scriptのいいところ
Type scriptのいいところ
Kazuhide Maruyama
 

Viewers also liked (20)

3日時間をもらったのでTypeScriptを触ってみた
3日時間をもらったのでTypeScriptを触ってみた3日時間をもらったのでTypeScriptを触ってみた
3日時間をもらったのでTypeScriptを触ってみた
 
TypeScript超入門
TypeScript超入門TypeScript超入門
TypeScript超入門
 
TypeScript 1.0 Released!
TypeScript 1.0 Released!TypeScript 1.0 Released!
TypeScript 1.0 Released!
 
About dart
About dartAbout dart
About dart
 
Type scriptのいいところ
Type scriptのいいところType scriptのいいところ
Type scriptのいいところ
 
はじめてのDart
はじめてのDartはじめてのDart
はじめてのDart
 
これからはじめるための JavaScript 開発環境
これからはじめるための JavaScript 開発環境これからはじめるための JavaScript 開発環境
これからはじめるための JavaScript 開発環境
 
サーバーサイドDartを試してみる
サーバーサイドDartを試してみるサーバーサイドDartを試してみる
サーバーサイドDartを試してみる
 
TypeScript 入門してみる
TypeScript 入門してみるTypeScript 入門してみる
TypeScript 入門してみる
 
TypeScript 独習会
TypeScript 独習会TypeScript 独習会
TypeScript 独習会
 
15分でわかった気になるdart
15分でわかった気になるdart15分でわかった気になるdart
15分でわかった気になるdart
 
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
 
TypeScript による今風の web アプリ開発
TypeScript による今風の web アプリ開発TypeScript による今風の web アプリ開発
TypeScript による今風の web アプリ開発
 
Angular+Dart=より快適なSPA開発
Angular+Dart=より快適なSPA開発Angular+Dart=より快適なSPA開発
Angular+Dart=より快適なSPA開発
 
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
 
TypeScriptは明日から使うべき
TypeScriptは明日から使うべきTypeScriptは明日から使うべき
TypeScriptは明日から使うべき
 
TypeScriptをオススメする理由
TypeScriptをオススメする理由TypeScriptをオススメする理由
TypeScriptをオススメする理由
 
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
 
Angular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェストAngular 4がやってくる!? 新機能ダイジェスト
Angular 4がやってくる!? 新機能ダイジェスト
 
Server Side Dart
Server Side DartServer Side Dart
Server Side Dart
 

Similar to TypeScriptについて

Similar to TypeScriptについて (20)

ASP.NETで お手軽Ajax実装
ASP.NETで お手軽Ajax実装ASP.NETで お手軽Ajax実装
ASP.NETで お手軽Ajax実装
 
How to develop a huge Single Page Application
How to develop a huge Single Page ApplicationHow to develop a huge Single Page Application
How to develop a huge Single Page Application
 
スマートフォンアプリエンジニアのための最新プロトタイピング講座
スマートフォンアプリエンジニアのための最新プロトタイピング講座スマートフォンアプリエンジニアのための最新プロトタイピング講座
スマートフォンアプリエンジニアのための最新プロトタイピング講座
 
[enPiT筑波大 PBL基礎(夏合宿)成果発表会]新卒エンジニア研修やってみた 〜5分では到底説明できないので気持ちだけ版〜
[enPiT筑波大 PBL基礎(夏合宿)成果発表会]新卒エンジニア研修やってみた 〜5分では到底説明できないので気持ちだけ版〜[enPiT筑波大 PBL基礎(夏合宿)成果発表会]新卒エンジニア研修やってみた 〜5分では到底説明できないので気持ちだけ版〜
[enPiT筑波大 PBL基礎(夏合宿)成果発表会]新卒エンジニア研修やってみた 〜5分では到底説明できないので気持ちだけ版〜
 
コンソールベタ打ち卒業:スクリプトエディタを使おう
コンソールベタ打ち卒業:スクリプトエディタを使おうコンソールベタ打ち卒業:スクリプトエディタを使おう
コンソールベタ打ち卒業:スクリプトエディタを使おう
 
スクラムマスター1年生⇒2年生
スクラムマスター1年生⇒2年生スクラムマスター1年生⇒2年生
スクラムマスター1年生⇒2年生
 
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
 
HTML と CSS の社内勉強会を主催した話
HTML と CSS の社内勉強会を主催した話HTML と CSS の社内勉強会を主催した話
HTML と CSS の社内勉強会を主催した話
 
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
 
mypy - 待望のPython3.9型ヒント対応
mypy - 待望のPython3.9型ヒント対応mypy - 待望のPython3.9型ヒント対応
mypy - 待望のPython3.9型ヒント対応
 
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
 
プログラミングを学ぶと何が良いのか
プログラミングを学ぶと何が良いのかプログラミングを学ぶと何が良いのか
プログラミングを学ぶと何が良いのか
 
Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編- Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編-
 
第57回名古屋アジャイル勉強会「ソフトウェア開発に、 変化を起こそう、 変化に立ち向かおう」
第57回名古屋アジャイル勉強会「ソフトウェア開発に、 変化を起こそう、 変化に立ち向かおう」第57回名古屋アジャイル勉強会「ソフトウェア開発に、 変化を起こそう、 変化に立ち向かおう」
第57回名古屋アジャイル勉強会「ソフトウェア開発に、 変化を起こそう、 変化に立ち向かおう」
 
JavaScriptの変遷/TypeScriptとは.pptx
JavaScriptの変遷/TypeScriptとは.pptxJavaScriptの変遷/TypeScriptとは.pptx
JavaScriptの変遷/TypeScriptとは.pptx
 
connpass特徴と開発の流れ
connpass特徴と開発の流れconnpass特徴と開発の流れ
connpass特徴と開発の流れ
 
How you can speed up serverless development by local
How you can speed up serverless development by localHow you can speed up serverless development by local
How you can speed up serverless development by local
 
プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会
 
サーバサイドエンジニアから見た MT構築のレガシーなノウハウ (入門編)
サーバサイドエンジニアから見た MT構築のレガシーなノウハウ (入門編)サーバサイドエンジニアから見た MT構築のレガシーなノウハウ (入門編)
サーバサイドエンジニアから見た MT構築のレガシーなノウハウ (入門編)
 
プログラミング初心者向け情報サイト「プロスタ」
プログラミング初心者向け情報サイト「プロスタ」プログラミング初心者向け情報サイト「プロスタ」
プログラミング初心者向け情報サイト「プロスタ」
 

TypeScriptについて