views:

50

answers:

2

I'm starting a new rails project and after a conversation with the customer, they said they preferred to go with Rails 2.3.8 since it has its reputation, all the gems and plugins work well with it so eventually, choosing rails 2.3.8 now will lead to less problems during the development process. In addition, they say that after the project is done and working, they won't mind upgrading to rails 3.

So my question is - is it correct that the "safest" way now is to go with rails 2.3.8 in terms of framework bugs and plugin/gem support?

+2  A: 

Short answer:
Rails 3 definitely. Its an improvement over 2.3.8 and if you encounter any bug, you can contribute back to the community. Rails 3 beta has been around for a long (arguable) time now and many major plugins ( devise, will_paginate, authlogic to name a few) are Rails 3 compatible.

Longish answer:
Why 2.3.8

  • There is still a little learning curve involved with Rails 3. And although you will find a good amount of documentation for Rails 3, it won't be more than Rails 2.3.8. So if you quickly need to put something together and get it 'done and working' then you should stick to 2.3.8 (whatever you are comfortable with).

Why 3?

  • Upgrading to 3.0 later IMO would be harder than starting with it right now. So if this a long term project, with continuous maintenance and updates, you should go for Rails 3.
  • The community is more active towards Rails 3 and most likely your questions / doubts / bugs are going to be actively solved or looked at if they come from Rails 3.
Swanand
+1  A: 

There are already several answers to this question. The short answer is: Use Rails 3.

Your client concern is quite wrong, even in the short terms. Several libraries and plugins are starting to cease support for Rails 2.x and they are now focused on Rails 3.

I have been using Rails 3 for more than 6 months (including betas), and right now I never had to change version due to a gem requirement.

Here a few other answers:

Simone Carletti
+1 But a client is never "wrong" just misinformed and it's our jobs to explain why. Your answer was the perfect one for that: "2.x" support is being phased out.
Mike Bethany