pluggableであること

最近のオープンソースパッケージがpluggableであることについて。

Apache

むしろpluginという機構の上に成立しているアーキテクチャであるので、pluginの充実は必要条件だったといえよう。
モジュールのインタフェースが絶妙というか、比較的理解しやすいのもいい。
ただ、2.0以降、マルチスレッドになったようで、それが若干敷居を高くしたか。

PHP

PECLが充実しているので、豊富なサンプルコードに当たることができる。
が、(自動で生成できる)スケルトンコードがどうにも垢抜けないというか、コメント多過ぎで視認性が悪い気がする。
また、PHPの場合、スクリプトベースのPEARが有名で、こちらにはアップデート機構も存在し、必要とされるpluginもPEAR側で吸収していると思われる。

MySQL

ユーザ定義関数だったりplugin機構だったり、ユーザ拡張の為に幾つかの手段があり、実は柔軟な機構を持つ。
しかし、実際に作られている拡張ライブラリはそれほどないと思うのだが、コミュニティの気質?

Eclipse

Eclipseプラグイン開発 一応、こういう本とかは読んだのだけども、個人的にはどうにも食指が動かないが、拡張ライブラリは数多く作成されており、ベンダー製のものも比較的多い。
IDEというデスクトップアプリケーションの性質か汎用性を追い求めた為か、plugin作成の為の約束事が多すぎる気がする。そこまでひどい訳ではないが、かつてのCOMと同じニオイがした。
plugin作成にはJava言語を使用し、アップデート機構も備わっている。

Firefox

plugin作成にはXULJavaScriptを利用するので、作成は容易らしい。
また、これもアップデート機構を備えている。
あと、pluginの為のplguinでもあるGreasemonkeyが補助的な役目を果たしていたり、Bookmarkletを利用することも可能なので、そちらで作成される拡張機能も多いようだ。
実際にはIEでもplugin作成可能なのだが、ActiveXなので敷居が高いと思う。

Plagger

一度、ちゃんと見たほうがいいのかなぁと思いつつ、Perlということもあってなかなか。
ライブラリも豊富で、グルコードにYAMLを使うのが特徴的。

あと、WordPressXOOPS、Phprojektとかでもpluginの仕組みを取り入れているわけだし、MovableTypeにだってあるわけなので、むしろないほうが珍しいよね。