CakePHP and Ruby on Rails have been immensely popular for web application development. But the debate still continues. Which framework is better?
Similarities Brings Them on the Same Platform
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 including different databases (MySQL, PostgreSQL, etc). And most importantly, both the frameworks are released under the MIT license.
While both have significance of their own, here are some points that distinct them, which will also help you in choosing the right one from the two
Distinctions Keeps Them Apart
- Knowhow Required
CakePHP requires understanding of the Model control view style of web development as well as its conventions. However, Ruby on Rails (RoR) requires knowledge of MVC, Ruby on Rails conventions and the Ruby programming language. If you already know this framework, then why would you want to learn a new programming language?
- Documentation Available
RoR has awesome online documentation. This is where RoR wins the battle against CakePHP. The PHP community lacks documentation in a major way. RoR is all about OOP. Since PHP 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. It has a bright future.
- CPU and Memory Usage
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 the data manipulation is still heavily array based.
CakePHP is easier to download, install and use, while RoR installation method is somewhat difficult. First its preferred method is downloading and installing Ruby, and then it needs to install MySQL. Finally rails can be installed. It must be configured with your web server (if you have one). You could also go the LAMP route with Instant Rails, but it is not that flexible.
Comparing these two technologies, CakePHP is quite suitable for your web development as per my experience. It requires minimum time for configuration at the time of deploying on server. You will have great experience with this web application development tool.