Recently I had the opportunity to attend a seminar about Ruby on Rails, things were nice with Ruby and Rails, I liked scaffolding, I also liked the various features of Rails and I think it’s the real power of RoR.
Afterwards I deceided to put Rails versus Cake PHP, a PHP framework that works on all recent PHP versions from 4.3.2 till 5.0 (I haven’t tested it on PHP 5.1 but I think it will need some hands-on work to have it error-proof).
I started by creating a simple e-commerce database-driven site with them both and overall result I get is: I really see that Cake PHP is a PHP version of Rails. But here’s what I found in details:
Conclusion: I liked how creating blogs, forums and other famous applications is some lines of code, things can go easy with your combo-sized applications, I also liked the idea of structuring your applications the same way, this has two sides: it will allow everyone to understand your data flow, we will all enjoy ease of coding and refactoring other’s code, and this is the good part of it, the bad part is simply it will allow everyone to fool your application because everyone knows your directory structure, this is a big security risk –IMHO. And unless your choice of the framework is right, you may find yourself having many security halls not because what you types, it’s because the framework has these bugs already installed! I do not think I can afford the time to debug a framework, thus it’s better off using a framework of a reasonable community to have my bugs solved quickly.
I think if you’re in a hurry to start an application, or have a very near deadline for an application, you should take a look at your flavor of MVC framework (Rails or Cake), you will be astonished. But I, for many reasons, don’t like having everything going that rapid, I still won’t go the MVC framework way without getting things more obvious and more stable.