SlideShare a Scribd company logo
Microsoft Openness
~ TypeScript と Visual Studio Code ~
井上 章 (いのうえ あきら)
http://aka.ms/chack
日本マイクロソフト株式会社
デベロッパー エバンジェリズム統括本部 (DX)
エバンジェリスト
井上 章 (いのうえ あきら)
エバンジェリスト
http://aka.ms/chack
2008 年マイクロソフト入社。
主に .NET/ASP.NET や Visual Studio,
Microsoft Azure などの開発技術を専門とする
エバンジェリストとして、技術書籍やオンライ
ン記事などの執筆、さまざまな技術イベントで
の講演などを行う。
HTML & Plug-ins
Flash
Silverlight
Java Applet
ActiveX
…
HTML5 & CSS3 & JavaScript
HTML5 & CSS3 & JavaScript
(function ($) {
var offsetX = 20, offsetY = 20;
$.widget('qs.infobox', {
options: {
dataUrl: '', maxItems: 10
},
_create: function () {
var that = this,name = this.name;
},
display: function (event, tagName) {
$.ajax({
url: url,
dataType: 'jsonp',
success: function (data) {
},
});
},
});
} (jQuery));
<div class="hoge" />
.hoge {
color: red;
background-color: #b6ff00;
border-radius: 8px;
}
JavaScript is the
Assembly Language of the Web.
by Scott Hanselman.






Problems of JavaScript
Large scale JavaScript development is hard.
TypeScript
Any browser. Any host. Any OS.
Open Source.






Any browser. Any host. Any OS. Open Source.
TypeScript と Visual Studio Code
Official Web Sites
www.typescriptlang.org
クイック スタート
サンプル
github.com/Microsoft/TypeScript
ソースコード
ドキュメント
TypeScript compilation process
TypeScript
ファイル
(*.ts)
TypeScript
コンパイラ
(tsc.js)
JavaScript
ファイル
(*.js)
TypeScript
型定義ファイル
(*.d.ts)
JavaScript
実行エンジン
(Browser, …)
Node.js または
WSH (WScript.Shell)
で実行
ECMAScript 3 または
ECMAScript 5 で生成
(ECMAScript 2015 試験的実装)
Web ブラウザーや
Node.js など
TypeScript Type System Example
// Any
var x: any; // 明示的
var y; // y: any と同じ
var z: { a; b; }; // z: { a: any; b: any; } と同じ
function f(x) { // f(x: any): void と同じ
console.log(x);
}
// Number
var x: number; // 明示的
var y = 0; // y: number と同じ
var z = 123.456; // z: number = 123.456 と同じ
// Boolean
var b: boolean; // 明示的
var yes = true; // yes: boolean = true と同じ
var no = false; // no: boolean = false と同じ
// String
var s: string; // 明示的
var empty = ""; // empty: string = "" と同じ
var abc = 'abc'; // abc: string = 'abc' と同じ
// Null
var n: number = null; // 基本型は Null 設定可
var x = null; // x: any = null と同じ
// Undefined
var n: number; // n: number = undefined と同じ
var x = undefined; // x: any = undefined と同じ
// Enum
enum Color { Red, Green, Blue }
var myColor = Color.Red;
Console.log(Color[myColor]); // Red
TypeScript Interface, Classes Example
interface Dog {
name: string;
Talk: () => string;
}
class Corgi implements Dog {
name: string;
constructor(name: string) {
this.name = name;
}
Talk(): string {
return "Bow wow!";
}
}
class myDog extends Corgi {
constructor() {
super("reo");
}
Talk(): string {
return "Wan wan!";
}
}
var reo = new myDog();
alert(reo.Talk());



Generics : Parameterized Types
class Human<T> {
constructor(public name: T) { }
Talk(): T { return this.name; }
}
var me = new Human<string>("Akira");
alert(me.Talk());


Arrow Function Expressions
var s1 = function (x: number) { return Math.sin(x); } // 標準式
var s2 = (x: number) => { return Math.sin(x); }
var s3 = (x: number) => Math.sin(x)
var s4 = x => { return Math.sin(x); }
var s5 = x => Math.sin(x)
var s0: (x: number) => number;
s0 = x => Math.sin(x)


Get Accessor / Set Accessor
class Who {
private _name: string;
get Name() { return this._name; }
set Name(name: string) { this._name = name; }
}
var me = new Who();
me.Name = "Akira Inoue";
console.log(me.Name);
Google TypeScript + VS Code
Visual Studio Code
http://code.visualstudio.com/
Code optimized editor
Intellisense, debugging, GIT
Windows + Mac + Linux
Open Source
runtimes node.js, ASP.NET Core 1.0, Unity, Office
ソース
コントロール
git
タスク実行
gulp
grunt
…
エディタ
30 以上の
開発言語
拡張機能 Debuggers, Languages Linters, Snippets, Themes ...
 Yeoman (http://yeoman.io/)
 クロスプラットフォーム ツール群
 Windows, Mac OS, Linux
 下記のツールで構成
 yo : スキャフォールディング ツール
 Bower, npm : パッケージ マネージャー
 Grunt, Gulp : タスクランナー/ビルドツール
 yo generator for ASP.NET Core
 ASP.NET Core プロジェクト生成ツール
Web 開発クライアント ツール
https://github.com/microsoft/vscode
TypeScript と Visual Studio Code
Erich Gamma
Distinguished Engineer
Microsoft
Design Pattern の GoF の一人
Kent Beck とともに JUnit を開発
IBM 時代は Eclipse JDT の設計リーダー
2011 年 6 月から Visual Studio チームに参画
+ Squirrel をアプリケーションのアップデート機能に
+ FirstMate を TextMate シンタックス バンドリング サポートに
クロスプラットフォームの
デスクトップ アプリケーション シェル
(旧 Atom Shell)
Visual Studio
Dev Essentials
AND MORE…
http://aka.ms/vsfreejp
開発ツール
Visual Studio Community
Visual Studio Code
クラウド サービス
Visual Studio Team Services
$25/month Azure credits
ソフトウェア
SQL Server Developer Edition
R Server Developer Edition
Parallels for Mac Pro (3 か月間)
Windows 10 Development VHD (60 日評価版)
Office Online Apps
Power BI / App Insights / HockeyApp Free Plan
トレーニング & サポート
Pluralsight (3 か月間)
WintellectNOW (3 か月間)
Xamarin University
Microsoft Virtual Academy
インフラ技術者、開発者をはじめ、IT に携わるすべてのエンジニアのための技術コンファレンス
http://aka.ms/decode16
2016 年 5 月 24 日 ~ 25 日
ザ・プリンス パークタワー東京
Microsoft
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

More Related Content

What's hot (20)

PDF
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
decode2016
 
PDF
Introducing Fluent Design
c-mitsuba
 
PDF
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
 
PDF
.NET の今と今後に思うこと (Tokyo Ver.)
Akira Inoue
 
PPTX
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
ShinichiAoyagi
 
PPTX
Aspnet mvc 6の今を紹介
Makoto Nishimura
 
PPTX
オレたちとVisual Studioとの関係を話そう
Mitsuhito Ishino
 
PDF
C++ REST SDKを使ってWebサービスを利用する
You&I
 
PPTX
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
Fujio Kojima
 
PPTX
C# 7 New Features
Takaaki Suzuki
 
PDF
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
Akira Inoue
 
PDF
.NET Coreから概観する.NETのOSSへの取り組み
Kouji Matsui
 
PPTX
Xamarin+MVVMCross のあれこれ
ShinichiAoyagi
 
PPTX
Alt#0x008 2017/5/20
Koki Natsume
 
PPTX
Asp.net core mvc の core な話
Masuda Tomoaki
 
PDF
RespClient - Minimal Redis Client for PowerShell
Yoshifumi Kawai
 
PDF
Objective-Cプログラマのためのswift導入法
Tomoki Hasegawa
 
PDF
Swift勉強会
Nagamine Hiromasa
 
PDF
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
Hiroyuki Mori
 
PPTX
キャッチアップJavaScriptビルド - ビルドから見るJSの今/2016春
Kondo Hitoshi
 
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
decode2016
 
Introducing Fluent Design
c-mitsuba
 
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
 
.NET の今と今後に思うこと (Tokyo Ver.)
Akira Inoue
 
【18-C-5】C# で iOS/Androidアプリ開発 - Visual Studio 2015 + Xamarin + MVVMCross -
ShinichiAoyagi
 
Aspnet mvc 6の今を紹介
Makoto Nishimura
 
オレたちとVisual Studioとの関係を話そう
Mitsuhito Ishino
 
C++ REST SDKを使ってWebサービスを利用する
You&I
 
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
Fujio Kojima
 
C# 7 New Features
Takaaki Suzuki
 
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
Akira Inoue
 
.NET Coreから概観する.NETのOSSへの取り組み
Kouji Matsui
 
Xamarin+MVVMCross のあれこれ
ShinichiAoyagi
 
Alt#0x008 2017/5/20
Koki Natsume
 
Asp.net core mvc の core な話
Masuda Tomoaki
 
RespClient - Minimal Redis Client for PowerShell
Yoshifumi Kawai
 
Objective-Cプログラマのためのswift導入法
Tomoki Hasegawa
 
Swift勉強会
Nagamine Hiromasa
 
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
Hiroyuki Mori
 
キャッチアップJavaScriptビルド - ビルドから見るJSの今/2016春
Kondo Hitoshi
 

Viewers also liked (20)

PDF
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
Akira Inoue
 
PDF
Open棟梁機能紹介 v02-00
Daisuke Nishino
 
PDF
Open棟梁概要説明 v02-00
Daisuke Nishino
 
PDF
Open棟梁ロードマップ v01-72リリース時
Daisuke Nishino
 
PDF
OSSコンソーシアム .NET開発基盤部会 2017 活動方針・部会紹介
Daisuke Nishino
 
PPTX
「それでも人生にイエスと言う」を読んで
Shumpei Shiraishi
 
PDF
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
Akira Inoue
 
PDF
Introduction of "MarkdownPresenter"
Jun-ichi Sakamoto
 
PDF
AngularJS 2.0 Jumpstart
Filipe Falcão
 
PPTX
Reactive Programming
maruyama097
 
PDF
最近、リアルタイムWebが面白い
Narami Kiyokura
 
PPTX
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んで
Shumpei Shiraishi
 
PDF
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトーク
Jun-ichi Sakamoto
 
PDF
[予告篇] みんなで同時プレイするクイズWebアプリでCodeQuizに挑戦!
Jun-ichi Sakamoto
 
PDF
20140823 LL diver Angular.js で構築した note に関して
Shoei Takamaru
 
PPTX
はじめにことばありき
Shumpei Shiraishi
 
PDF
CLR/H#74 LT IT勉強会発表用イチオシツール
Jun-ichi Sakamoto
 
PPTX
HTML5がもたらすアプリ開発へのインパクト
Shumpei Shiraishi
 
PPTX
「それでも人生にイエスと言う」を読んで
Shumpei Shiraishi
 
PPTX
秒速一億円
Shumpei Shiraishi
 
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
Akira Inoue
 
Open棟梁機能紹介 v02-00
Daisuke Nishino
 
Open棟梁概要説明 v02-00
Daisuke Nishino
 
Open棟梁ロードマップ v01-72リリース時
Daisuke Nishino
 
OSSコンソーシアム .NET開発基盤部会 2017 活動方針・部会紹介
Daisuke Nishino
 
「それでも人生にイエスと言う」を読んで
Shumpei Shiraishi
 
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
Akira Inoue
 
Introduction of "MarkdownPresenter"
Jun-ichi Sakamoto
 
AngularJS 2.0 Jumpstart
Filipe Falcão
 
Reactive Programming
maruyama097
 
最近、リアルタイムWebが面白い
Narami Kiyokura
 
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んで
Shumpei Shiraishi
 
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトーク
Jun-ichi Sakamoto
 
[予告篇] みんなで同時プレイするクイズWebアプリでCodeQuizに挑戦!
Jun-ichi Sakamoto
 
20140823 LL diver Angular.js で構築した note に関して
Shoei Takamaru
 
はじめにことばありき
Shumpei Shiraishi
 
CLR/H#74 LT IT勉強会発表用イチオシツール
Jun-ichi Sakamoto
 
HTML5がもたらすアプリ開発へのインパクト
Shumpei Shiraishi
 
「それでも人生にイエスと言う」を読んで
Shumpei Shiraishi
 
秒速一億円
Shumpei Shiraishi
 
Ad

Similar to TypeScript と Visual Studio Code (20)

PDF
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
decode2016
 
PDF
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
PDF
TypeScript 1.0 オーバービュー
Akira Inoue
 
PDF
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Akira Inoue
 
PDF
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
Akira Inoue
 
PDF
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Masahiro Wakame
 
PDF
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
PDF
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
 
PDF
TypeScript超入門
Narami Kiyokura
 
PDF
TypeScript 言語処理系ことはじめ
Yu Nobuoka
 
PDF
TypeScriptは明日から使うべき
Masahiro Wakame
 
PDF
TypeScriptへの入口
Sunao Tomita
 
PDF
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
Masahiro Wakame
 
PPTX
大人のお型付け
Nobuhisa Koizumi
 
PDF
JSX / Haxe / TypeScript
bleis tift
 
PPTX
JavaScript使いのためのTypeScript実践入門
Shumpei Shiraishi
 
PDF
6万行の TypeScript 移行とその後
Shingo Sasaki
 
PDF
TypeScript & 関数型講座 第2回 TypeScript という言語
gypsygypsy
 
PDF
LT駆動開発04 5分では分からないTypeScriptのなんとか
Kazuya Matsubara
 
PDF
JavaScript.Next
dynamis
 
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
decode2016
 
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
TypeScript 1.0 オーバービュー
Akira Inoue
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Akira Inoue
 
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
Akira Inoue
 
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで
Masahiro Wakame
 
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
 
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
 
TypeScript超入門
Narami Kiyokura
 
TypeScript 言語処理系ことはじめ
Yu Nobuoka
 
TypeScriptは明日から使うべき
Masahiro Wakame
 
TypeScriptへの入口
Sunao Tomita
 
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
Masahiro Wakame
 
大人のお型付け
Nobuhisa Koizumi
 
JSX / Haxe / TypeScript
bleis tift
 
JavaScript使いのためのTypeScript実践入門
Shumpei Shiraishi
 
6万行の TypeScript 移行とその後
Shingo Sasaki
 
TypeScript & 関数型講座 第2回 TypeScript という言語
gypsygypsy
 
LT駆動開発04 5分では分からないTypeScriptのなんとか
Kazuya Matsubara
 
JavaScript.Next
dynamis
 
Ad

More from Akira Inoue (20)

PDF
New Features in C# 10/11
Akira Inoue
 
PDF
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
Akira Inoue
 
PDF
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
Akira Inoue
 
PDF
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
Akira Inoue
 
PDF
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
Akira Inoue
 
PDF
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
Akira Inoue
 
PDF
.NET の過去、現在、そして未来
Akira Inoue
 
PDF
VS Code Live Share ~ 東京と大阪を繋いでみよう!
Akira Inoue
 
PDF
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
Akira Inoue
 
PDF
.NET の今と今後に思うこと
Akira Inoue
 
PDF
.NET 最新ロードマップと今押さえておきたい技術要素
Akira Inoue
 
PDF
VS Code & Flaskで作るCloud NativeアプリとDevOps
Akira Inoue
 
PDF
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
Akira Inoue
 
PDF
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
Akira Inoue
 
PDF
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Akira Inoue
 
PDF
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Akira Inoue
 
PDF
.NET の今 ~ 最新アップデートと 2019 年の展望
Akira Inoue
 
PDF
.NET today and tomorrow
Akira Inoue
 
PDF
.NET の今とミライ (.NET Conf 2018 Japan Keynote)
Akira Inoue
 
PDF
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
Akira Inoue
 
New Features in C# 10/11
Akira Inoue
 
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
Akira Inoue
 
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
Akira Inoue
 
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
Akira Inoue
 
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
Akira Inoue
 
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
Akira Inoue
 
.NET の過去、現在、そして未来
Akira Inoue
 
VS Code Live Share ~ 東京と大阪を繋いでみよう!
Akira Inoue
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
Akira Inoue
 
.NET の今と今後に思うこと
Akira Inoue
 
.NET 最新ロードマップと今押さえておきたい技術要素
Akira Inoue
 
VS Code & Flaskで作るCloud NativeアプリとDevOps
Akira Inoue
 
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
Akira Inoue
 
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
Akira Inoue
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Akira Inoue
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Akira Inoue
 
.NET の今 ~ 最新アップデートと 2019 年の展望
Akira Inoue
 
.NET today and tomorrow
Akira Inoue
 
.NET の今とミライ (.NET Conf 2018 Japan Keynote)
Akira Inoue
 
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
Akira Inoue
 

Recently uploaded (9)

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

TypeScript と Visual Studio Code