Cakephp and Ruby on Rails have been immensely popular for web application development. But the debate still continues. Which framework is better?
Both of them follow the MVC design pattern and adhere to the “Convention over Configuration” philosophy. Both of them also support AJAX and have an almost identical directory structure. They are very OOP-like. They have their own shells for command-line interface stuffs. They both support caching. They support different databases (MySQL, PostgreSQL, etc…). And lastly, both the frameworks are released under the MIT license.
While both have their own importance, here are some points of difference, which will help you in choosing out of the two.
Cakephp must require learning of the Model control view style of web development as well as it conventions. However, Ruby on Rails (RoR0) requires learning MVC, Ruby on Rails conventions and the Ruby programming language as well. If one already knows Cakephp, then why would one want to learn a new programming language?
RoR has awesome online documentation. This is where RoR wins the battle against Cakephp. The Cakephp community lacks documentation in a major way. Rails is all about OOP. Since Cakephp was made to support PHP4, the full power of OOP (Object Oriented Programming) cannot be exploited. However, there are a few things to keep in mind. PHP4 development is officially dead, PHP6 is around the corner, and Cakephp is still at version 1. The future holds very bright for Cakephp.
Ruby on Rails is extremely slow because it was created that way by design. Because everything in RoR is an object, it has to be instantiated, which takes up CPU time and memory. Although Cakephp does support OOP using PHP5, most of Cakephp data manipulation is still heavily array based.
Cakephp is easier to download, install and use, while RoR installation method is quite difficult. First it preferred method is downloading and installing Ruby, then it need to install MySQL, then installing Rails, then it must be configuring with your web server (if you have one). You could also go the LAMP route with Instant Rails, but it isnot much flexible.
Comparing cakephp with Ruby on Rails, CakePHP is quite suitable for your web development that I found. CakePHP is bit suitable for array usage. CakePHP requires minimum time requirement for configuration at the time of deploying on server. You will have great experience time period with Cake PHP web application development.