微妙にお仕事な週末。
オライリーの「Prototype & script.aculo.us」本を買ってみた。
長年Webアプリ開発一筋やってきたけど、あまり首を突っ込みたくなかった技術の筆頭が「JavaScript」なのである。なぜなら、超嫌いだから。なぜ嫌いなのかというと、勝手な思い込みもあるかもしれないけど、次のような感じ。
- ブラウザ間の互換性がひどい。苦労が目に見えている。
- セキュリティ上の理由でJavaScriptを無効設定したブラウザを使っている人もいる。だからJavaScriptなしでも使えるようにする必要がある。
- 力技的なことが可能になってしまうので、顧客の無謀な要求が怖い。
- Webアプリケーションの定型的なUIのセオリーが崩れて、使いにくいものになる危険性がある。
- 言語仕様が嫌い。
JavaScriptはHTMLだけでは解決できない問題を強引に解決する逃げ道としての「力技ツール」のイメージが強かった。極力サーバーの処理で普通のHTMLを返すパターンの範囲だけでやってたほうが、Webらしい慣れたいつものシンプルなUIを提供できる。JavaScriptなんか駆使し始めたらプログラマ的に死ねることは間違いなし!
…そんなふうに思っていた頃が、私にもありました。
しかし近年これらの問題点はかなり解消され、今やJavaScriptはWebの重要な表舞台テクノジーとなってきている。PC向けサイトではJavaScriptの使用を前提としてもほとんど問題にならない時代になったし、prototype.jsを始めとするJavaScriptフレームワークを使えば互換性の心配もほぼ解消。そして根本的な問題だった「JavaScriptの使いどころ」については、従来のHTMLによるUIに縛られない斬新な「Ajaxアプリケーション」が作られるようになってきた。従来型のWebアプリケーションとは異なる新しいプラットフォームが誕生してきたわけだ。
Ajaxは出始めの頃ちょろっと勉強しただけにとどまっていたので、そろそろ何かを作ることを前提にちゃんと学んでおこう。
Javascriptはインデントとか無関係に見えるスペースの数とか改行コードの位置が違うと動かなかったりして落とし穴にもろ填まった言語で、Kshに出会った以来の悪夢を髣髴させてくれまふ。
しかもインタプリタの挙動がブラウザごとにバージョンごとに個性的でわけわかめorz.