[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
SlideShare a Scribd company logo
もう一度来てください、
本当のClosure Compilerを
お見せしますよ。
@teppeis
天下一altJS武闘会 2014/06/08
ClojureScriptとは違うよ!
Closure Compiler
It compiles
from JavaScript
to better JavaScript.
突然のdis
本当のClosure Compilerをお見せしますよ。
Closure Compilerが
最強である理由
本当のClosure Compilerをお見せしますよ。
エンドユーザー数が圧倒的
お前たちのaltJS、
ユーザーに価値届けてんの?
• Google検索: 数十億回/日
• Gmail: 4億2500万ユーザー
• Google+: 3億人アクティブユーザー
さておき
みんなが知ってるClosure Compiler
• 圧縮&最適化
• JSDocベースの静的型付け
• 既に枯れたツール
JSDocベースの静的型付け
JSDocベースの静的型付け
• たしかにだせーw
• でも、既存のJSと親和性がバツグン
• コンパイルなしでもそのまま実行できる

Closure Compilerのコンパイルの遅さはJS界のScala…
• どうせJSDoc書くし。

まさか、ドキュメント書かない気ですか?
本当のClosure Compiler
• 圧縮&最適化
• JSDocベースの静的型チェック
• GitHub化 & 超アクティブに進化中
• ES6 & CommonJS 対応
• Closure Toolsの主軸
5月にGitHub化
超活発にコミット
何やってんの?
• ECMAScript6対応
• 新しい型推論器の実装
• CommonJS対応
• Rhino Parser削除
ECMAScript 6
JavaScriptベースなので、
JavaScriptと一緒に進化する。
Compile ES6 to ES3
java -jar compiler.jar 	
--language_in ECMASCRIPT6 	
--language_out ECMASCRIPT3
もうtrunkでは動くよ。
Arrow Function
Classes
Enhanced object literals
Default, rest, spread params
Other ES6 features
• Module & Loader
• String templates
• Computed property
• Binary & octal literal
• RegExp new flags
Closure Tools
Closure Compilerのポテンシャルを
最大限に引き出すべく、
Googleが総力を結集して作り上げた
フロントエンドツール群
Closure Tools
• Closure Compiler
• Closure Library
• Closure Templates
• Closure Stylesheets
• Closure Linter
全部集めると
さらなる超絶圧縮&連結
• HTML, JS, CSSファイル内のCSSクラス名を圧縮
• HTML, JS内の国際化文字列リソースを

埋め込み&連結
• LibraryのメソッドにCompilerが組み込みで対応
Closure Library
• 現存する唯一の

静的型付けフルスタックJSライブラリ
• DOM操作からハッシュ関数まで
もったいない
• 静的型付け言語を活かすには

型指向ライブラリが不可欠
• Closure Compiler専用だけではもったいない
closure-ts
• Closure LibraryのJSDocから

TypeScriptの型定義ファイルを自動生成
• github.com/teppeis/closure-ts
• 型情報をASTで定義して、

いろんなaltJSから使えるようになる(予定)
typescript-spec-md
• MS文化に耐えきれずdocx/pdfをMarkdown化
• github.com/teppeis/typescript-spec-md
• もはやClosure Tools関係ないw
• 翻訳募集中!
• Swiftと違ってライセンスは安全だよ!
Thanks!

More Related Content

本当のClosure Compilerをお見せしますよ。