Campingを使うぞ宣言
皆様、Railsには多少の気疲れをしていませんでしょうか。私は疲れました。Railsアプリを使おうと思ってソースを読むと(普通使う前には読みますよね?)、そこには覚えなければならない約束事がたくさんあり、しかもRubyの標準的なクラス・モジュールであっても思わぬところで機能が拡張されていたりしますので、一切油断ができません。Railsは素晴しいフレームワークであるのだろうとは思いますが、その枠組みを把握するのはとても大変です。私はRailsアプリを開発をしたことがないのでもちろんその全体像を把握していませんが、いくつかのRailsアプリのソースを読んだ限りでは、開発者であってもその枠組みを十分に理解しているとは言い難い状況のようです。そこでご紹介したいのが、小さな小さなウェブアプリケーションフレームワークであるCampingです。
Campingの特徴を一言で言えば「Railsを小さくしたもの」です。Campingのコアはたったの4kb程度しかありません(ただ約4kbというのはコメントと改行を除いたcamping.rbのサイズで、コメント付きのcamping-unabridged.rbは約26kbあります)。これなら誰でも全てのコードに目を通せるはずですし、私でも一時間くらいで出来ました。このコンパクトさでRailsっぽいことができるのであれば、開発者も利用者も皆が幸せになれるのではないでしょうか。
では、CampingがどうRailsっぽいのかを、ごく簡単にまとめておきます。
- Model/View/Controllerモデルを採用
- O/RマッピングにはそのままActiveRecordを採用
違いは次のような点になります。
- Rubyの標準クラス・モジュールを拡張していません
- Railsにある便利な機能の大半はないと思った方が良さそうです
- SQLite3しかサポートしていません
- Railsプラグインは一部動くかも知れません(act_as_versionedは動くみたい)が、動かないものが多数だと思います
実際どのような感じなのかを知りたい方は、Campingアプリのサンプルを見るのが手っ取り早いと思います。以下のものをご覧下さい。
ただちなみに言っておくと、Campingはフレームワークは極小ですが、Railsに比べてメモリ使用量の点において優れているわけではないそうです。この点に関してはThought Torrent - Performance Camping?をご覧下さい。
なお、インストールは gem から。
gem install camping --source http://code.whytheluckystiff.net
とにかく、私はCampingが気に入りました。今後は積極的にCampingを使っていこうと思います。