Ruby on Rails and CakePHP Comparison

From a development standpoint, some of the differentiating features are:

+ Rails Community is excellent and can answer any questions that come their way. + Ruby. It is a language built around solid object-oriented design, whereas PHP has OO features bolted on. Even though PHP5 significantly changed the underpinnings of the interpreter, it still feels clunky compared to Ruby. + Rails. The framework itself is at 1.2 and moving quickly toward 2.0. Cake is nowhere near a stable 1.0 release. + Testing. The Ruby community embraced test-driven development and Rails has it baked right in. PHPUnit is no match for Test::Unit (IMO), and tools like ZenTest or rSpec are incredible for improving the quality of your applications. + Publications/Events. There are plenty of PHP events and plenty of PHP books, but I don't think you'll find a Cake event that parallels RailsConf. There are now a number of great books about developing Rails apps, many of which have been mentioned here. I'm not aware of so rich a set of learning materials for Cake.

- Rails apps are harder to deploy on budget shared hosts. - Server resources. PHP is hardly a zero-hit on the server, but because mod_php is often loaded in shared Apache environments, people take it for granted. - No IDE. If you are looking for an IDE-driven development, Rails might not be for you. Cake probably isn't either, but you could conceivably use the Zend IDE.

I built one app using Cake to bench test it against Rails, and PHPonTrax. I truly regret the decision to follow through with that. I've since rewritten in in Rails, spending 1/4 the time and adding features along the way.

If you're up for learning Ruby and want to use a sound MVC framework, Rails is a very productive one. My opinion is that Cake is not where it needs to be. Further, I do not believe PHP is a language conducive to the next generation of Web applications.

Just my .02 (USD)

Benjamin Arai-3 wrote: