Pinto公開に向けて #17 ― フレームワークを切り出した
あらすじ
Pintoというソーシャルブックマークサービスを、Rubyで開発中です(GitHubリポジトリ)。開発中に気づいたことや工夫した点などを、備忘録も兼ねて書いています。その17回目です。
PintoBeans 始めました
Pintoを作る過程で、実はWebアプリケーションフレームワークを作っていることに、遅まきながら気づきました。Railsを使わないことに決めた時点で気づけよ、という話ですが、気づかなかったんだもの。
そんなわけで、Pintoからフレームワーク部分を切り出すことにしました。名づけて「PintoBeans」(いんげん豆)。PintoBeansはオープンソースにしても良いかなあと考えています。
仮説:Webアプリはフレームワークのプラグインである
フレームワーク製作者の視点に立ったことで、Webアプリ開発の考え方ががらりと変わった気がします。具体的には、これまでは「Webアプリからフレームワークを使う」という意識だったのが、「フレームワークからWebアプリのフックを呼ぶ」という意識に変わりました。Webアプリ側は、フック処理だけ実装すればよいということです。
ライブラリ(Zend Framework、PEARなど)を使うという考え方から、プラグイン(XOOPSモジュールなど)を開発するという考え方に変わったといえば分かりやすいでしょうか。ともかく、主役はフレームワークであり、Webアプリはそのプラグインにすぎない、と感じるようになりました。
余談ですが、私は「考え方が変わる」という感覚が大好きです。プログラミングが好きなのは、そうした気質のせいかもしれません。