Submit Search
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
20 likes
18,431 views
Teppei Sato
ES6+カジュアルトークの発表資料です。 http://connpass.com/event/9113/
Technology
Read more
1 of 36
Download now
Downloaded 12 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
More Related Content
PDF
Closure Compiler Updates for ES6
Teppei Sato
PDF
本当のClosure Compilerをお見せしますよ。
Teppei Sato
PDF
Flowtype Introduction
Teppei Sato
KEY
ライブラリにあらず! 〜Google Closure Toolsの事始め〜
Kazuya Hiruma
PDF
コンパイラ指向ReVIEW
Masahiro Wakame
PDF
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
PDF
Isomorphic web development with scala and scala.js
TanUkkii
PDF
Ember コミュニティとわたし
Ryunosuke SATO
Closure Compiler Updates for ES6
Teppei Sato
本当のClosure Compilerをお見せしますよ。
Teppei Sato
Flowtype Introduction
Teppei Sato
ライブラリにあらず! 〜Google Closure Toolsの事始め〜
Kazuya Hiruma
コンパイラ指向ReVIEW
Masahiro Wakame
ng-japan 2015 TypeScript+AngularJS 1.3
Masahiro Wakame
Isomorphic web development with scala and scala.js
TanUkkii
Ember コミュニティとわたし
Ryunosuke SATO
What's hot
(20)
PPTX
Web socket and gRPC
TIS Inc
PPTX
React.js + Reduxで作るSPA
Shohei Saeki
PPTX
Ansibleハンズオン勉強会
Takahisa Iwamoto
PDF
Presentation on your terminal
Takuya ASADA
PDF
ECMAScript6による関数型プログラミング
TanUkkii
PDF
About Reauire.js
Kyohei Morimoto
PPTX
Containerで変わるDevOps
shokiri
PDF
OSC 2011 KeySnail
Masafumi Oyamada
PDF
LocalStack
chibochibo
PPTX
webアプリケーションフレームワークの話
Yoshihiro Ura
PDF
Reactとbabelで簡易タスク管理ツール作ってみた
Tsuyoshi Maeda
PDF
うわ…私のEmacs力、低すぎ...?
Masahiro Sano
PDF
Babelで先取り次世代javascript
Tsuyoshi Maeda
PDF
LT#7 Hello coffeeしてきた
Shingo Inoue
PDF
Ppl
Seizan Shimazaki
KEY
Yesodを支える技術
Hiromi Ishii
PPTX
Yesod勉強会
Hideyuki Tanaka
ODP
高トラフィックサイトをRailsで構築するためのTips基礎編
Kazuya Numata
PDF
仮想マシンを使った開発環境の簡単共有方法
Hideo Takahashi
PDF
200k/sec
Sugawara Genki
Web socket and gRPC
TIS Inc
React.js + Reduxで作るSPA
Shohei Saeki
Ansibleハンズオン勉強会
Takahisa Iwamoto
Presentation on your terminal
Takuya ASADA
ECMAScript6による関数型プログラミング
TanUkkii
About Reauire.js
Kyohei Morimoto
Containerで変わるDevOps
shokiri
OSC 2011 KeySnail
Masafumi Oyamada
LocalStack
chibochibo
webアプリケーションフレームワークの話
Yoshihiro Ura
Reactとbabelで簡易タスク管理ツール作ってみた
Tsuyoshi Maeda
うわ…私のEmacs力、低すぎ...?
Masahiro Sano
Babelで先取り次世代javascript
Tsuyoshi Maeda
LT#7 Hello coffeeしてきた
Shingo Inoue
Ppl
Seizan Shimazaki
Yesodを支える技術
Hiromi Ishii
Yesod勉強会
Hideyuki Tanaka
高トラフィックサイトをRailsで構築するためのTips基礎編
Kazuya Numata
仮想マシンを使った開発環境の簡単共有方法
Hideo Takahashi
200k/sec
Sugawara Genki
Ad
Viewers also liked
(20)
PDF
React Canvasで作るFlappy Bird
Takuya Tejima
PDF
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
アシアル株式会社
PDF
Kotlinこんなん出ましたけど
yy yank
PDF
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
Kensaku Komatsu
PDF
非ガチ勢「よし、Coffee script使おう!」
Muyuu Fujita
PDF
9 anti-patterns for node.js teams
Jeff Harrell
PDF
Next Generation Web Application Architecture
Koji SHIMADA
PDF
これからはじめるCoda2とSublime Text 2
masaaki komori
PDF
Sinatraのススメ
@odailly_jp Odai
PDF
new Objctive-C literal syntax
Wataru Kimura
PDF
blogサービスの全文検索の話 - #groonga を囲む夕べ
Masahiro Nagano
PDF
Rubyはとても「人間的」
Kazuhiro Serizawa
PDF
本格的に始めるzsh
Hideaki Miyake
PPTX
Ruby1.9のfiberのかっこいい使い方
Kindai University
PDF
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Kunihiro TANAKA
PDF
プログラマとして仕事をするために勉強すること
なおき きしだ
PDF
Project Lambdaの基礎
Yuichi Sakuraba
PDF
DefinitelyTyped良いという話
gyoh_k
PDF
受託開発時におけるAWSクラウド活用術
Hiroshi Koyama
KEY
Code as data as code.
Mike Fogus
React Canvasで作るFlappy Bird
Takuya Tejima
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
アシアル株式会社
Kotlinこんなん出ましたけど
yy yank
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
Kensaku Komatsu
非ガチ勢「よし、Coffee script使おう!」
Muyuu Fujita
9 anti-patterns for node.js teams
Jeff Harrell
Next Generation Web Application Architecture
Koji SHIMADA
これからはじめるCoda2とSublime Text 2
masaaki komori
Sinatraのススメ
@odailly_jp Odai
new Objctive-C literal syntax
Wataru Kimura
blogサービスの全文検索の話 - #groonga を囲む夕べ
Masahiro Nagano
Rubyはとても「人間的」
Kazuhiro Serizawa
本格的に始めるzsh
Hideaki Miyake
Ruby1.9のfiberのかっこいい使い方
Kindai University
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Kunihiro TANAKA
プログラマとして仕事をするために勉強すること
なおき きしだ
Project Lambdaの基礎
Yuichi Sakuraba
DefinitelyTyped良いという話
gyoh_k
受託開発時におけるAWSクラウド活用術
Hiroshi Koyama
Code as data as code.
Mike Fogus
Ad
Similar to Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
(20)
PDF
JavaScript Tips 2015(PDF 版)
taskie
PDF
TypeScript 言語処理系ことはじめ
Yu Nobuoka
PDF
ES6 in Practice
Teppei Sato
PDF
traceur-compilerで未来のJavaScriptを体験
Toshio Ehara
PDF
Learn ES2015
Muyuu Fujita
PDF
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Itaru Kitagawa
PDF
覚醒JavaScript -ES6で作るIsomophicアプリケーション-
Oonishi Keitarou
PDF
TypeScript 1.0 オーバービュー
Akira Inoue
PDF
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Jun-ichi Sakamoto
PDF
JavaScriptトレンド総括(2014)
VOYAGE GROUP
PDF
Ecmascript2015とその周辺について
豊明 尾古
PDF
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Akira Inoue
PPTX
JavaScript使いのためのTypeScript実践入門
Shumpei Shiraishi
PPTX
TypeScriptハンズオン第1回テキスト
mizuky fujitani
PDF
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
decode2016
PDF
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
Akira Inoue
PDF
TypeScript と Visual Studio Code
Akira Inoue
PPTX
今日から使って先取り ECMAScript6
Ryo Ohe
PDF
traceur-compilerで ECMAScript6を体験
Toshio Ehara
PDF
今すぐブラウザでES6を使おう
Hayashi Yuichi
JavaScript Tips 2015(PDF 版)
taskie
TypeScript 言語処理系ことはじめ
Yu Nobuoka
ES6 in Practice
Teppei Sato
traceur-compilerで未来のJavaScriptを体験
Toshio Ehara
Learn ES2015
Muyuu Fujita
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Itaru Kitagawa
覚醒JavaScript -ES6で作るIsomophicアプリケーション-
Oonishi Keitarou
TypeScript 1.0 オーバービュー
Akira Inoue
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Jun-ichi Sakamoto
JavaScriptトレンド総括(2014)
VOYAGE GROUP
Ecmascript2015とその周辺について
豊明 尾古
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Akira Inoue
JavaScript使いのためのTypeScript実践入門
Shumpei Shiraishi
TypeScriptハンズオン第1回テキスト
mizuky fujitani
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
decode2016
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
Akira Inoue
TypeScript と Visual Studio Code
Akira Inoue
今日から使って先取り ECMAScript6
Ryo Ohe
traceur-compilerで ECMAScript6を体験
Toshio Ehara
今すぐブラウザでES6を使おう
Hayashi Yuichi
More from Teppei Sato
(20)
PDF
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
Teppei Sato
PDF
サイボウズの給与交渉戦 - Boss Side -
Teppei Sato
PDF
Recent compat-table issues
Teppei Sato
PDF
kintoneがAWSで目指すDevOpsQAな開発
Teppei Sato
PDF
Automated Dependency Updates with Renovate
Teppei Sato
PDF
君はyarn.lockをコミットしているか?
Teppei Sato
PDF
サイボウズのフロントエンド開発 現在とこれからの挑戦
Teppei Sato
PDF
サイボウズの現在と未来
Teppei Sato
PDF
離れた場所でも最高のチームワークを実現する方法 ーサイボウズ開発チームのリモートワーク事例ー
Teppei Sato
PDF
サイボウズの開発を支えるKAIZEN文化
Teppei Sato
PDF
SPAと覚悟
Teppei Sato
PDF
JavaScript Language Update 2016 (LLoT)
Teppei Sato
PDF
You Don't Know ES Modules
Teppei Sato
PDF
Our wish to Flowtype
Teppei Sato
PDF
Effective ES6
Teppei Sato
PDF
DockerがYAVAY!
Teppei Sato
PDF
JavaScript Unit Test Why? What? How?
Teppei Sato
PDF
Effective JavaScript Ch.1
Teppei Sato
PDF
Browser oh browser browser
Teppei Sato
KEY
goog.require()を手書きしていいのは小学生まで
Teppei Sato
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
Teppei Sato
サイボウズの給与交渉戦 - Boss Side -
Teppei Sato
Recent compat-table issues
Teppei Sato
kintoneがAWSで目指すDevOpsQAな開発
Teppei Sato
Automated Dependency Updates with Renovate
Teppei Sato
君はyarn.lockをコミットしているか?
Teppei Sato
サイボウズのフロントエンド開発 現在とこれからの挑戦
Teppei Sato
サイボウズの現在と未来
Teppei Sato
離れた場所でも最高のチームワークを実現する方法 ーサイボウズ開発チームのリモートワーク事例ー
Teppei Sato
サイボウズの開発を支えるKAIZEN文化
Teppei Sato
SPAと覚悟
Teppei Sato
JavaScript Language Update 2016 (LLoT)
Teppei Sato
You Don't Know ES Modules
Teppei Sato
Our wish to Flowtype
Teppei Sato
Effective ES6
Teppei Sato
DockerがYAVAY!
Teppei Sato
JavaScript Unit Test Why? What? How?
Teppei Sato
Effective JavaScript Ch.1
Teppei Sato
Browser oh browser browser
Teppei Sato
goog.require()を手書きしていいのは小学生まで
Teppei Sato
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
1.
Closure CompilerのES6対応 あるいは
ES6時代のAltJS生存戦略 @teppeis ES6 Casual 2014/10/29
2.
Hello! • @teppeis
• cybozu kintone • Closure Compiler, TypeScript, Testing, Scaling..
3.
Closure Compiler
4.
Closure Compiler •
compile JS to better JS • 超圧縮&最適化 • JSDocベースの静的型付け
5.
あなたも毎日使ってます!
6.
JSDocベースの静的型付け
7.
JSDocベースの静的型付け • 冗長だけど、既存のJSとの親和性がバツグン
• JavaScriptの進化に追随できる(後述) • コンパイルなしでも実行可能 • どうせJSDoc書くし。 まさか、ドキュメント書かない気ですか?
8.
5月にGitHub化
9.
活発に開発中
10.
最近何やってんの? • ECMAScript6対応
• 型推論の強化 • RefasterJS(自動リファクタリング) • Conformance(規約チェック)
11.
ECMAScript 6
12.
Compile ES6 to
ES3 java -jar compiler.jar --language_in ECMASCRIPT6 --language_out ECMASCRIPT3 --js foo.js
13.
Arrow Function
14.
Class
15.
Enhanced object literals
16.
Default, rest, spread
params
17.
and already supported
! • const/let • Generator • Destructuring • String templates • Binary & octal literal • …
18.
実装中の大物 • Modules
• super (Class)
19.
ES6 compatibility table
各種ブラウザとコンパイラのES6対応表 http://kangax.github.io/compat-table/es6/
22.
対応状況のチェックを自動化 • かなりの書きなぐりコード
• 6to5とかも対応しようと思ったけど面 (ry
23.
Why doesn’t Closure
use Traceur?
24.
Tracuerを使わなかった理由 • Tracuerは変換結果にコメントを残せない
• Closure CompilerではJSDocが肝 • パフォーマンス問題 • TraceurはJS実装、ClosureはJava実装 • ASTとソースの変換が2回
25.
コンパイルのコスト • Traceur
+ Closure • ES6 > Traceur AST > ES5 > Closure AST > Optimized ES5 • Closure only • ES6 > Closure AST (ES6 > ES5) > Optimized ES5
26.
nodeconf.eu 2014 http://yosuke-furukawa.hatenablog.com/entry/2014/09/10/191140
27.
ちょw
28.
Tracuerの微妙なところ • 自前で実装する基準がよくわからない
• String.prototype.startsWith とか • そのおかげでランタイムがめちゃでかい。 • コンパイル不要な機能は es6shimに任せれば良いのでは?
29.
ES6 vs. AltJS
30.
AltJS黎明期 • 各種AltJSがオレオレ最強Syntaxを実装
• そのうち有用なものをES6/7が取り込む • ES6だけでも十分モダンなsyntaxに • 各ブラウザとコンパイラがES6対応開始 • いまここ
31.
AltJSの選定基準 • そのコンテキストにおけるJSの不満を解決
• 主目的はそれぞれ • 学習コスト、開発者の確保 • ECMAScriptベースだと楽じゃない? • AltJSからの出口戦略(プロダクトとAltJSどっちが長生き?) • 開発の継続性 • コミュニティが活発 • 強力な後ろだて(政治) • 移行コスト • 元コードがキレイ or 生成コードがキレイ(標準に近い)
32.
ECMAScript準拠の強み • Closure
Compilerは基本文法はJSそのまま • JS (ECMAScript) が進化すれば、 Closure Compilerも合わせて進化できる • 独自syntaxのAltJSではそうもいかない • 進化しないと、機能落ち、 類似だけど微妙に違う仕様、などに陥る
33.
ES6時代のAltJS • 欲張らないES6ベース
+ 独自色(主目的) • Closure(型、圧縮) • TypeScript(型) • AngularJS AtScript(型、アノテーション) • Facebook Flow(型、高速化?)
34.
型ばっかりでゴメンw • でも
Google, Microsoft, Facebook, ビッグネームが型付きJS始めたのは 偶然じゃあない。 • ECMAScript Types が提案に(次の発表で!) • 最強の出口戦略: 標準化 • 来るか大統一型定義時代!
35.
http://teppeis.hatenablog.com/entry/2014/10/facebook-flow-in-3-minutes
36.
Thanks!
Download