2005/05/02

JavaScript 10のベストプラクティス 2005年度版(3)

今回は、10項目の3番目から見ていきます。最後まで一気にいきます。

3. 便利なJavaScriptを作ろう

Webページの使い勝手とは、 「情報の構造」「明確で直感的なデザイン」「優れた機能」などで判断されます。前述の"unobtrusive JavaScript"手法を使うことで、使い勝手をあげることが出来ます。使い勝手があがらないJavaScriptの使い方なら、考え直したほうがよ いでしょう、とのことです。

4. 簡単に適用可能なJavaScriptを作ろう

デザイナーとプログラマーのギャップと いうのは存在するもので、「XHTMLとCSS」を知っていながら、DOMやJavaScriptの知識がないデザ イナーが存在するケースはよくある話です(これはJ2EEのMVCモデルにも共通しそうですが、JSP処理などのViewの部分だけでもクライアント処理としてさらに2階 層に分かれてしまうということですね。Dominoの場合は一人の開発者が全部やってしまいがちですが。もちろん何でも一人で出来る優秀な開発者になるこ とは重要ですけれど。)。
これも、ロジックの分離をしておき、JavaScript部分を簡単に適用可能にしておくことが重要です。コードもメンテナンス出来ないくらい大量なものになることがよくありますが、極力最小化して、再利用が出来るようなコードにします。

5. 将来性が保証されたJavaScriptを作ろう

ブラウザ情報を検知するロジックではなく、オブジェクトを検知させて、ブラウザをハンドルするロジックが望ましいです(例えばdocument. でエラー発生状況を見るなど)。
XHTMLの利用はJavaScript記述上でいろいろと注意が必要です。まず、ケースセンシティブであり、各要素は小文字で記述される必要がありま す。また、そのほか、document.関連の操作では、各種の注意が必要になるようです。Dominoでは、XHTMLへの適切な対応は先になりそうで すが、いずれDomino技術者の知識としては避けられないものになっていくのでしょう(とはいえ、HTMLとXMLの基本さえ知っていればそれほど難し くはないと思いますが。パススルーHTMLなどでは、既にXHTMLの文法に注意しておいたほうがよさそうですね。)。
最先端の技術情報が必要なら、W3CやECMA、ブラウザベンダからの情報に注意しておくべきです。

6. JavaScriptの弱み、欠点、バグは理解しておきましょう

JavaScriptは、批判を浴びることが多い背景もあり、ほとんどのブラウザでは簡単に機能をオフにすることが出来ますので、注意が必要です。また、ブラウザの中には、メモリリークがあったり、ということもあります。

7. もっとよい選択肢が存在するかもしれません

JavaScriptは柔軟な言語なので、いろいろな形で記述することが出来ます。書き方は1つではないことを理解しておく必要があります。

8. 自分でコードを書くか/信頼出来るサイトからコードを拝借するか

良かれ悪しかれ、最近はいろいろなタイプのコードがインターネット上に存在します。中には古い記述や、お作法の悪いものも存在します。使いまわしをするときは、自力で多少修正することがよいケースが多いでしょう。

9. パフォーマンスチューニングされたコードを書きましょう

ダウンロード速度、実行速度を意識したコードを書きましょう。JavaScriptはローカルにダウンロードされて実行するため、実際に利用しないような 巨大なライブラリは望ましくないです。コメント文も遅くなる原因ですが、手元にはコメントが入ったものを残しておいたほうがよいでしょう。
これは、JavaScriptの塊ともいえるDomino Web Accessなどで、激しくチューニングされているのが見れます。ダウンロード速度については、HTTP1.1のgzip圧縮などもあるので、多少救いは あるかもしれないですね。(ネットワーク屋さんから言わせると、HTTPのトラフィックはかなり無駄が大きいため、gzip圧縮して欲しいそうなのです が)

10. 開発支援ツールを使いましょう

JavaScriptの開発も、JavaScriptコンソールから、文法チェッカーなど、様々なツールが存在するようです。こういったものを使うとよいでしょう。


最後に。(あまり開発が得意でないDomino技術者の独り言)

実は、この10の方法は、Domino関連サイトをネットサーフィン中に見かけて飛びついた記事です。この手の記事は割と読みやすいことが多いのですが、 読み進めてみるとDOM関連の深い技術話が多く、最後はかなり読み飛ばしてしまいました。正直DominoでのJavaScriptといえば、入力チェッ クやWindow操作、イベントハンドルで使われている程度だと思うのですが、最先端なところでは、DHTML的なコードを、いかにクロスブラウザ対応 で、かつ美しく記述出来るか、というところまで進んでいるようです。読み進めていると、とにかくキーワードは"unobtrusive JavaScript"という手法にあるようですが、いずれ時間があるときにじっくりと読んでみたいと思います。

1 件のコメント:

匿名 さんのコメント...

こんにちは。
コネタ:JavaScriptを興味深く読ませていただきました。
勉強になりました。
javascriptを勉強しています。
結構面白いですね。
そのうち何か簡単なものを作ってみようと思っています。
また読ませていただきたいと思います。