blog/2008-11-21


Total: 1794 / Today: 1 / Yesterday: 1

やっぱりprototype.jsが原因だった

Web素材/PukiWiki/zoome.inc.phpを開発しているときのことである。ソースなどを気にする人ならお気づきだと思うが、<object>タグがコメントアウトされてembedタグのみになっていることに気がつくだろう。

これは、IEだとムービーが表示されないためである。もちろんXHTMLではembedタグは本来御法度。かなり問題が多い処置である。swfObjectを使用しても改善されなかった。で、原因を探ってみたところ、prototype.jsが悪さをしているみたいであった。FireBugLiteのインスペクタは汚れまくるし、CSSセレクタは重いわprototype.jsは使い物にならない!

さて、代わりの処置を考えておかないと。Loreleiのようにdojoを使うのもいいが、まともに使うことを考えるとPukiWikiPlus!本体から再設計する必要があるだろう。Grayboxなどもマージできるので、速度や性能面でのメリットは大きいが果たしてそこまで集中力が続くか疑問である。また、確実にこれまで他者が作ったJavaScriptを使うプラグインの互換性の面で問題が起きる。PukiWikiPlus!のjavaScriptは、DOMにonclickなどを直接貼り付けて記述する旧世代の方法で、最近一般的なイベントリスナ式でないため、速度面や互換性で問題が多いのも事実である。

というか、コンテンツあってのサイトなので本体を開発するとなるとそっちの方にリソースをとられてしまうことも意味する。これでは、本末転倒である。いくら、本家、Plusともにバージョンアップが鈍化し、仕様が変わることは考えにくいとはいえ、たかがスキンの開発のために本体をいじるのはよくないだろう。再設計に要する時間は、ざっと見積もって半年はかかりそうだ。

やるとしたら、PukiWikiの派生版の派生版を作る羽目になる。そこまで自分がコードのメンテナンスができるか疑問である。

とりあえず、prototype.jsで行っていた処理をjQueryに置き換えることにしようかな。


Last Modified: 2008-11-21 17:58:51