ありえるえりあミニ勉強会#4 ~ Google Closure LibraryでのLT資料 http://connpass.com/event/1214/
![goog.require()を手書きしていいのは小学生まで](https://cdn-ak-scissors.b.st-hatena.com/image/square/d07aa0e4635ebd1e6f6942b1bb037fed6d022ffd/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fclosure-121108080944-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
ありえるえりあミニ勉強会#4 ~ Google Closure LibraryでのLT資料 http://connpass.com/event/1214/
こんにちは。kintone開発チームの天野(@ama_ch)です。前回は、JavaScriptをClosure CompilerのADVANCEDモードでコンパイルする方法を紹介しました。 コンパイルが無事に通っても、素直に動いてくれることは滅多にありません。コンパイル後のコードが動かない原因をひとつずつ特定し、修正するという作業が待っています。 ゴゴゴゴゴ... 今回は、僕が実践しているデバッグのテクニックを紹介します。きっちりとデバッグをして、ADVANCEDモード対応を完璧なものにしましょう。 コンパイル後に動かなくなる原因 コンパイル後のコードが動かない原因は、次の2点に大別することができます。 プロパティへのアクセスが正しい手順でできていない エントリーポイントが存在せずコードが消されてしまっている 特に前者が原因になっていることがほとんどです。そのため、コンパイル後のコードを追
こんにちは。会社を抜けだしてiPhone5を予約しに行ったら熱中症になりかけたkintone開発チームの天野(@ama_ch)です。 kintoneでは10万行以上のJavaScriptが動いており、ライブラリにはClosure Libraryを利用しています。この規模になると、1ページあたりで読み込むjsファイルの容量が数MB単位(!)になってしまいます。そこで、通信量を減らすためにClosure CompilerでJavaScriptをミニファイしています。今となっては特に珍しい話ではないですね。 ところで、Closure Compilerの最適化レベルには3段階あるのをご存知でしょうか。 ・WHITESPACE_ONLY コメントとホワイトスペースの除去など ・SIMPLE_OPTIMIZATIONS(デフォルトレベル) WHITESPACE_ONLY に加え、ローカル変数のリネーム
Google Closure Libraryを使い、Closure CompilerでADVANCED_OPTIMIZATIONSな圧縮すると、Server-Side/Front-Endともに優しい設計になります。gzip化すると更に良いですね。 さて、その上でクロスブラウザ環境で楽にWebSocketを扱うためのライブラリーSocket.IOを使うためにどうしたらいいかという話です。 コンパイルのメリット Closure CompilerでADVANCED_OPTIMIZATIONSという高圧縮する特徴は公式でも解説されているので、解説は省きますが、プログラマが実装した関数、クラス、変数の名前がコンパイルすることによって、短い名前に変わり改行やスペースが削除されます。 そうすることによって転送コストを抑えられ、効果的に高速化できますが、その反面困ることもあります。 コンパイルのデメリット
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く