Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

17,094 views

Published on

天下一altJS武闘会での発表
http://connpass.com/event/6402/

Google Closure Compilerの最新事情について

Published in: Technology

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

  1. 1. もう一度来てください、 本当のClosure Compilerを お見せしますよ。 @teppeis 天下一altJS武闘会 2014/06/08
  2. 2. ClojureScriptとは違うよ!
  3. 3. Closure Compiler It compiles from JavaScript to better JavaScript.
  4. 4. 突然のdis
  5. 5. Closure Compilerが 最強である理由
  6. 6. エンドユーザー数が圧倒的
  7. 7. お前たちのaltJS、 ユーザーに価値届けてんの? • Google検索: 数十億回/日 • Gmail: 4億2500万ユーザー • Google+: 3億人アクティブユーザー
  8. 8. さておき
  9. 9. みんなが知ってるClosure Compiler • 圧縮&最適化 • JSDocベースの静的型付け • 既に枯れたツール
  10. 10. JSDocベースの静的型付け
  11. 11. JSDocベースの静的型付け • たしかにだせーw • でも、既存のJSと親和性がバツグン • コンパイルなしでもそのまま実行できる
 Closure Compilerのコンパイルの遅さはJS界のScala… • どうせJSDoc書くし。
 まさか、ドキュメント書かない気ですか?
  12. 12. 本当のClosure Compiler • 圧縮&最適化 • JSDocベースの静的型チェック • GitHub化 & 超アクティブに進化中 • ES6 & CommonJS 対応 • Closure Toolsの主軸
  13. 13. 5月にGitHub化
  14. 14. 超活発にコミット
  15. 15. 何やってんの? • ECMAScript6対応 • 新しい型推論器の実装 • CommonJS対応 • Rhino Parser削除
  16. 16. ECMAScript 6 JavaScriptベースなので、 JavaScriptと一緒に進化する。
  17. 17. Compile ES6 to ES3 java -jar compiler.jar --language_in ECMASCRIPT6 --language_out ECMASCRIPT3 もうtrunkでは動くよ。
  18. 18. Arrow Function
  19. 19. Classes
  20. 20. Enhanced object literals
  21. 21. Default, rest, spread params
  22. 22. Other ES6 features • Module & Loader • String templates • Computed property • Binary & octal literal • RegExp new flags
  23. 23. Closure Tools Closure Compilerのポテンシャルを 最大限に引き出すべく、 Googleが総力を結集して作り上げた フロントエンドツール群
  24. 24. Closure Tools • Closure Compiler • Closure Library • Closure Templates • Closure Stylesheets • Closure Linter
  25. 25. 全部集めると
  26. 26. さらなる超絶圧縮&連結 • HTML, JS, CSSファイル内のCSSクラス名を圧縮 • HTML, JS内の国際化文字列リソースを
 埋め込み&連結 • LibraryのメソッドにCompilerが組み込みで対応
  27. 27. Closure Library • 現存する唯一の
 静的型付けフルスタックJSライブラリ • DOM操作からハッシュ関数まで
  28. 28. もったいない • 静的型付け言語を活かすには
 型指向ライブラリが不可欠 • Closure Compiler専用だけではもったいない
  29. 29. closure-ts • Closure LibraryのJSDocから
 TypeScriptの型定義ファイルを自動生成 • github.com/teppeis/closure-ts • 型情報をASTで定義して、
 いろんなaltJSから使えるようになる(予定)
  30. 30. typescript-spec-md • MS文化に耐えきれずdocx/pdfをMarkdown化 • github.com/teppeis/typescript-spec-md • もはやClosure Tools関係ないw • 翻訳募集中! • Swiftと違ってライセンスは安全だよ!
  31. 31. Thanks!

×