ども、小堤です。
実験していてわかったんですが、「スクリプトタグは消してもOK」ということがわかりました。
考えてみれば当たり前か。読み込まれたときにJSコードが実行されるだけだもんね。CSSの場合はlinkタグを消すとCSSが無効になりますけど、スクリプトタグは違います。ちなみにIE8とかCheromeとかFireFoxとかSafariで試してうまくいったので採用。
なんで、そんなことをするのか?
先に書いた、Ext.ux.Screenも同じですが、Ext JSのみならずJSでインタラクティブなコンテンツを作成されてる皆さん。僕もその一員ですが、聞きたいことがあります。
「DOMの掃除って意識していますか?」
はずかしながら、Ext JSをはじめたころは全くに気にしていませんでした。これ、操作するにつれて隠してあるだけだとCSSセレクタの速度とか、画面に表示される描画速度が遅くなるんです。アプリケーションが大きくなってきたらなおさら。今のうちに何とかしておきたいですよね。
で、題名通り、スクリプトタグも消しましょう(笑) いらんタグはぽいぽいです。HTMLソース見れば残ってても、DOMツリーからは消えてる。普段の逆ですね。
前にお話しした、Spread Officeの開発をちまちまやってて、技術検証しながらやってるんですが、ログイン画面途中までしか作ってないですが、スクリーンキャストでとってみました。
この、ページを表示するのに、10個以上のJSファイルを読み込んでいますが、最後FireBugで確認したときに、スクリプトタグが存在しないことが確認できます。ちなみに、僕はBODYにスクリプトタグ入れる派です。ローディングマスクをかけて、JSの読み込み時間を演出できますからね。しなくてもいいけど。
ってことで、最近Ext JSのお仕事も増えてきて、世間的にも去年よりExt JSを聞くようになった気がします。ということは、これからたくさんアプリケーションが作られていくわけで、クリティカルな解決策やセオリーは大事になってきます。 うちの会社では、もう2年近くやってきている実績があるので、業務アプリケーションを作る上でのノウハウはしっかり貯めてあります。
このDOM削除もその一つですけど、こういうのちゃんとできるかできないかで低スペックPCで遅いとか、使ってるとだんだんおそくるんだよねぇとか、お客さんの嫌な(笑)台詞を笑ってかわせるようになればいいですね。
※Spread Officeの画面は、なにかと出てくるかもしれません・・・ただスクリーンキャストが多いと思います。売り物になる予定なんで、ソースだせません、ごめんなさい。 みれる段階まできたらたぶん前に書いた暗号化します。ただ、小出しになりますが、ノウハウはちょいちょい書いていくつもりです。あと、相変わらず落ち着かないんですが(爆)落ち着いたら、ゼノフィのホームページに各UXのページとか作るつもりでいます。あと、どっかで実践開発ガイド再開させます。
あ、5時すぎてる・・・