Should I rewrite my Codeigniter/PHP app in Ruby on Rails? Why? Should I rewrite my Codeigniter/PHP app in Ruby on Rails? Why? codeigniter codeigniter

Should I rewrite my Codeigniter/PHP app in Ruby on Rails? Why?


Codeigniter is obviously a framework built on PHP. While there are fundamental differences between PHP and Ruby, all of your criteria can be met with either of the two languages. Migrating to Ruby would seem to be a waste of time considering your requirements. There are plenty of ways to automate HTML/CSS in PHP and there are numerous open source Facebook/Twitter integrations (just check FB and Twitter developer sections). There are also plenty of open source PHP testing options available. Google is your friend! IMO it would be a big waste of time to rewrite your entire application for the sake of your criteria when there are plenty of PHP solutions to your problem.


I think the better comparison here would be CI to Symfony. Symfony 1.4 is a PHP framework pretty much on par with Rails functionality - as far as I can tell through my research, anyway (I'm not a Ruby programmer).

If you were to switch to to Symfony, you would gain a lot of productivity tools. Symfony 1.4 + Doctrine has the ability to generate a lot of your code/interface for you. Symfony/Doctrine likes to keep you away from repetitive tasks such as building models and data validation.

If you want to do your research ahead of time, I suggest reading through Symfony's free e-book Piratical Symfony to give you an idea of how things work in Symfony.

Now, with all that said I feel obliged to mention that the Symfony team is working on Symfony 2.0 which will not be backwards compatible with Symfony 1.4. The expected release date is March of 2011. I expect that maintenance on Symfony 1.4 will continue in the future.

-- Edit --

I also think that sticking with your native language would allow you to develop with the least amount of overhead. Changing to a new language means having to learn it's up's and downs in order to be truly productive.

IE to be at a point where you're not coming back in 6 months to fix a bug that an experienced Ruby developer would have known to avoid.


To me, this is more a question of how big your current web app is. If it took you a couple of weekends and you do not have a tight deadline, I would switch to Ruby/Rails.

However, if it's significantly large and you actually want to come up with R2 in a timely fashion, I would suggest sticking with PHP.

As to your specific questions, I'm not too familiar with PHP, but I don't think Rails will give you a whole lot more in the HTML/CSS department. Not sure about the next two bullet points. Ruby does have much better automated testing tools, with new stuff coming out all the time.

Here are a couple links about Derek Sivers, who switched from PHP to Rails to PHP and now likes Rails again. It might help your thinking.

http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html

http://railstutorial.org/ruby-on-rails-tutorial-book#foreword