田舎の技術者が奮闘中

php ruby node.js javascript などのスクリプト言語とサーバー(Chef、Vagrant)に関して書きます。

cakephp と ruby on railsの比較

仕事ではcakephpを使用し、プライベートではruby on railsを使用しています。
アプリも幾つか作りましたし、比較的なものを書こうと思います。

比較1 導入編

まず導入ですが、圧倒的にcakephpが楽です。
もともとPHP自体がApacheにアップすれば勝手に動くシロモノですので、
ファイルアップ=稼働という形になります。

railsunicornやthin等のhttpサーバー導入したり、色々しなければなりません。
また、プログラム反映も一度httpサーバーを再起動したりしなければなりません。
PHPに慣れすぎている人たちには、面倒くさいと思うでしょう。

比較2 開発編

開発は圧倒的にrailsだと思います。
最初のうちは戸惑うことも多いかもしれませんが、慣れてしまうとrailsの開発速度に敵うフレームワークは無いのではないか?と思ってしまいます。

1.コマンドからのプログラム自動生成が優秀
他のフレームワークにもありますが、railsがすごく優秀だと感じました。
2.migration機能が素晴らしい。
3.rails用のライブラリが優秀
ライブラリ等を使用したりするときに最低限のコードで動作することが可能です。
(ライブラリのコードを読むと黒魔術過ぎてわからない所が多いです。。。メタプログラミングが得意ですからねw)


cakephpが軽自動車だとしたらrailsは高級車って感じです。
高級車だけどブラックボックスが多いです。
結局のところクルマを運転する上で、中身なんぞ知らなくてもいいだろ?使う奴は運転する技術だけ習得してこいって考え方がrailsだと思います。オブジェクト指向の考え方に準拠しているって感じですね。

比較3 メタ言語haml、coffeescript、 sass等)

メタ言語の導入もrailsが優秀です。
cakephpでメタを導入するとなると、Gruntなどで変換しなければなりません。
railsの場合は、Gruntを導入しなくても変換してくれます。

結果

開発速度で行くのであればrailsが優秀ですが、結局のところ好きな言語はどっち?って話になります。適材適所で自分の好きなフレームワークを選ぶのがいいと思います。
自分だったら、好きなフレームワークで開発して下さいって言われた時に迷わずrailsって言います。

だって楽だからw