2011/09/26
9/17に行われたCSS Nite LP, Disk 18「その先にあるjQuery」
に参加してきました。
Togetter – CSS Nite LP18「その先にあるjQuery」
中級者向けということで、jsメインなサイト制作時に問題になってくる高速化や
JSアプリケション制作の設計方法についてのセッションでした。
jQuery高速化
西畑(@KazumaNishihata)さん
モバイル環境でjsを使う場合などにパフォーマンスを意識しないといけないのですが、その方法について。
・まずはベンチマークで計測しよう
・遅い箇所にポイントを絞って高速化
具体的には
・eachメソッドをfor文へ
・DOMアクセスから正規表現へ
・変数に代入してセレクタをキャッシュ
・querySelectorAllの利用
・DOM操作をできるだけ避ける(最後に一回だけ操作するような書き方)
・不要なAjaxリクエストの破棄 abort()
などなど実践的なTIPS満載でした。
Rich JavaScript Application
前半は徳田(@5509)さんのjqueryの新しい機能やライブラリのお話。
noriさんは大阪の.coder以来だったんですが、ボケがすべてすべっててかっこよ(ry
・jquery Deffered
・jquery template
・custom event
・Event delegation
jquery templateはPHPのsmartyぽいし、
custom eventとかdelagationとかは他のオブジェクト指向言語をやってる人にとっては馴染み深いかもしんないです。
多言語かじるのも大事だよねぇ、とかいいつつ私も概要くらいしか理解できてないのでもっと勉強しないと。。。
後半は高津戸(@takazudo)さんのぽちってもうたーというウェブサービスを例にあげて、
開発時の設計、開発工程について。
UIごとのパーツ分け(ウィジット化)、
ウィジットをメソッドとイベントをもった単位にして他パーツと連携する
機能とデザインの分離、
それによってテストのしやすさ機能変更や追加のしやすさ
といったメンテナンス性の向上につながるというお話でした。
このへんはウェブアプリケーションを他言語で作られた経験がある人は無意識にやっちゃってる気がするけど、
オブジェクト指向な実装ってことをすごくわかりやすく説明されてました。
あと個人的にいつか使ってみたいなっておもったのがDavis.js
jsの状態をアドレス分岐する方法として、
他にハッシュ(location.hash)で分岐させるやりかたがあって、
そっちでもいいかもだけどURLとしてやっぱ気持ち悪いなーと思ってたもので。