Ruby on Rails and CakePHP Comparison

I'm also using CakePHP and deployed some Cake-based projects, although now I'm using Rails on most of my web projects. CakePHP is largely based on Ruby on Rails, so I don't think you'd have any trouble with the structure of the framework. There's the models, views, controllers, helpers, and routing in both (scrap the concept of components in CakePHP, as it's a hindrance when using Rails). You might have a bit of trouble though when it comes to differentiating between the concepts of the model class in CakePHP and Rails. In Cake, the model class acts more as a utility class than an actual model class (your model data is returned as an array of values), while in Ruby, it's the model AND utility class (your model data is the instantiated model class).

As for the language, once you've grasped the structure, you'd have little trouble in coding in Ruby, and if ever you run into trouble, just google your problem coz' there's tons of information, tutorials, q&a's and the whole shebang around the Rails worldwide community. Or get yourself a copy of Programming Ruby and Agile Web Development with Rails (you can get the book, but there's tons of CHM and PDF copies floating around), and of course the Rails API (http://delynnberry.com/projects/rails-chm-documentation/). These are the three most important resources for Ruby on Rails, although at some point you would find that the Rails API is worth more than Agile Web Development with Rails book.

Six months is too long. If you're persistent, you could learn the Ruby language structure in less than a week (I'd say 2-3 days, maybe 1 will do). And in another week, you'd know how to create your Rails app. Give it more time, and you could delve into the wonderful world of Rails unit testing (yes, it's built-in, unlike in Cake, and the same goes for the mailer), plugins, rake, Capistrano deployment, Ruby metaprogramming and more. In less than a month, you have an app ready for deployment.

Ruby is a great language, and Rails a great framework. So good luck with the learning process. It ain't that hard.

diyana wrote: