流行るWebアプリ

WordPressに見るオープンソースWebアプリに向いた設計とは - komagata
こちらを拝見して、ホントそう思った。
WordPressの他、EC-CUBE、OpenPNE、Mantis等、流行ってるPHPプロジェクトのソースを少し読む機会があったので。




1. 言語はPHPしかありえない
2. インストールに黒い画面(ターミナル)を使う必要があってはいけない
3. FrontControllerを使わない。(URL見たまんまのファイルがあること)
4. クラスを使わない。functions.phpとかにbb_xxxxとかいう関数を列挙する。
5. テンプレート言語はPHP。theme/default/以下とかに置いて、前述のURL見たまんまファイルと同名にする。(register.phpとか)
6. ディレクトリ構造はフラットに近くする
7. gettextを使っておくと自然と翻訳してくれる人が現れる

作者はとにかく「サードパーティー開発者」と「ユーザー」に奉仕して、DRYに反していても誰にでもわかりやすいまま頑張ってスパゲッティにならないようにします。

より多くの「サードパーティー開発者」に気に入ってもらえるようにすることがひいてはプラグインの増加、ソフト自身の価値向上につながるんですね。

この構造の明快さだけでこのアプリのファンになってしまいました。


EC-CUBEは上の3だったし、拡張クラスを既に用意してあって親切だったなぁ。
WordPressのプラグインを有効にする仕組みもすごいよなぁ。


流行るWebアプリはやっぱ、PHP製だよなぁー。サーバ屋にもやさしいし、なんて。