Jintrick.netagenda2008年07月アーカイブ → 2008年07月29日

Javascript1.7(1.8)の使用について

ウェブページ、というかハイパーテキストでJavascriptを使用する際の原則は、Javascriptに依存せずとも100%利用可能にすることであると考えている。つまりJavascriptを利用できない環境であっても文書を読めて、ハイパーリンクを利用できればいい。Javascriptに依存しなければ実現不可能なコンテンツでない限り、これは自分の中ではもう常識中の常識。このサイトではJavascriptを、この前提の下で利用している。つまり「動かなくて元々」で使っているわけ。

バージョン1.7のJavascriptを積極的に利用する理由はコードの生産性にある。IE6/7, Opera7/8/9, Firefox2/3, safariで動くものを仮に完成されたソフトウェアだとすれば、私は忠実度の高いプロトタイプを書いているに過ぎないので生産性が何より重要だ。純粋なソフトウェアの機能にとって、本来クロスブラウザは何の関係もない。下手にJavascript1.3などを使うとsafariでも実行されてしまうため、クロスブラウザ用のコードを書かなければならない。Javascript1.7なら、これを実装しているブラウザは限られてくる。実装しているブラウザが少なければ少ないほどいいんだ。だから(おそらく)Firefox3くらいしか実装しているブラウザのないJavascript1.8はもっといい。クロスブラウザ用のコードは、ソフトウェアの仕様が決定してから書くべきことはいうまでもない。そんなときがくるかどうかは知らんけど。

プロトタイプベースのオブジェクト指向言語として利用する限り、JScriptやJavascript1.3はしょぼい。[[Prototype]]を参照できないなんてどうかしているとしか思えない。何かを被せてリッチに仕立てる方法が流行っているようだが、冗長だし個人的に違和感ありまくりな構造で受け入れがたい。また、DOMインターフェイスの拡張を封印してコードを書く気が起こらない。まだまだまだまだ書ききれないくらいの理由があるが、それだけJavascript1.7/1.8(+Firefox2/3)は、コードの生産性を上げるということだ。

仕事モードで使うときにしても同じ。ペーパープロトタイプでテストした後、Javascript1.7/1.8+Firefoxで高忠実度のプロトタイプを作ってテストし、最後にJavascript1.3等で目標ブラウザ用のコードに仕上げる。後者になるほど創造性はなくなっていくかわりに時間と手間がかかる。個人サイトでサルの仕事をしなきゃならない理由はないだろう。Javascript1.3を使えなど、その意味で大きなお世話もいいところ。そんなものを使うくらいならscript要素を消すよ。元々要らないんだから。

私はローカルな環境で自分用のハイパーテキスト・アプリケーションを大量に作っている。こちらは時にはJavascriptに完全に依存しているが、ローカルであれば自分の環境でだけ動けば問題ない。したがってJavascript1.7/1.8を利用することで生産性と、完成度が両立しているわけだ。文書をハイパーテキスト化すると、「何故のリンク」が沢山作られる。私はこれが学習を促進し、効率よく記憶に結びつくと信じている。例えば書籍をOCRにかける過程で同時にマークアップを行っていくのだが、より詳細な情報や命題の理由に興味が沸いたとき、調べてから簡単なハイパーテキストを作り、互いをリンクしてしまう。このリンクはJavascriptで自動化できる。また参考画像等へのリンクも同様に自動化してしまう。目次の作成や、邦訳文書であった際の英文の表示非表示等もJavascriptで行なう。つまり私はJavascriptのその殆どをローカルな環境で使っているということだ。

ウェブページ用には、自作のライブラリの内の極一部を使いまわしているだけ。


webmaster@jintrick.net
公開: 2008年07月29日
カテゴリ: Javascript ,agendaについて