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.

goog.require()を手書きしていいのは小学生まで

5,923 views

Published on

ありえるえりあミニ勉強会#4 ~ Google Closure LibraryでのLT資料
http://connpass.com/event/1214/

Published in: Technology
  • Be the first to comment

goog.require()を手書きしていいのは小学生まで

  1. 1. goog.require()を手書きしていいのは 小学生まで @teppeis 2012/11/08 ありえるミニ勉強会 #4 http://connpass.com/event/1214/
  2. 2. 自己紹介• 佐藤鉄平 @teppeis• サイボウズでkintoneっていう サービスを作っています。 参考: 大規模UIをJavaScriptで実現するためのテクニック、サイボウズkintone開発の 現場から。デブサミ2012 − Publickey• フロントからバックエンドまでやって ます。
  3. 3. JS連載中!
  4. 4. !!
  5. 5. jQueryなど世を忍ぶ仮の姿に過ぎない。
  6. 6. Closure歴2年ちょっと
  7. 7. 好きなClosure ToolsはClosure Templatesとfixjsstyleです!
  8. 8. 好きなクラスはgoog.Disposableです!
  9. 9. ※本題とはそれますが• Closure Libraryは、 Closure Compilerの能力を 最大限に引き出すために作られたFWです• Closure Compilerが大前提です。• それを踏まえて使用を検討しましょう。
  10. 10. 本題
  11. 11. みなさん、goog.require()とか、書くの面倒じゃないですか?
  12. 12. Java(とEclipse)でimport文を手書きしてたら「え?」ですよね。
  13. 13. fixclosure:goog.require/provideの過不足をチェックしてコードに挿入/削除するコマンドを作って、vimと連携してみた。
  14. 14. Demo
  15. 15. 最初はどこでも動くようにbashで書きました。
  16. 16. どの環境でもすぐ動いた。CIにも組み込めた。(requireが漏れてたらビルドを落とす)
  17. 17. ところが、
  18. 18. sed地獄
  19. 19. Mountain Lionで使えない... http://www.dirtdon.com/?p=14
  20. 20. 拡張もメンテもきつい。。
  21. 21. そこで、
  22. 22. Esprima!
  23. 23. Esprimaベースでリライト!
  24. 24. Esprimaベースなら、柔軟な拡張が可能。
  25. 25. 例えば、disposeInternalメソッド内でのgoog.base呼び忘れ(リソース漏れの大惨事)をチェックするとか、より柔軟なLint&Fixが実現できる。
  26. 26. $ npm install -g fixclosurehttps://github.com/teppeis/fixclosure先ほど無理矢理publishしたalpha版のため、ご利用の際はご注意ください:)
  27. 27. ありがとうございました!

×