views:

721

answers:

3

I have been a user of Rails for a while and used version 2.3.4 recently.

Rails 3 Beta just came out recently and it seems have significant performance improvement especially with the merge with Merb.

I'm planning on building an application that will take 4-6 months. Should I use Rails 3 for it starting with beta? Knowing that it will be buggy until full release? Performance is definitely an important requirement for my application.

You can help me if you can provide insight in the following questions: 1- Do you think Rails 3 will be out in 4-6 months? 2- Will it be easy to migrate code should I choose to go for Rails 2.3.5?

+1  A: 

afaik there is no definite release date set yet. another point to consider is on how many rails plugins does your project depend on as i think most of them will need to be upgraded too ...

roman
Good point about plugins! I will definitely need some. Thanks
Tam
+1  A: 

I think you should do it for version 2.3.5 but always think about Rails 3. Read release notes. For example use this plugin to escape html by default.

Try to use plugins that are ready for Rails 3. Check list here.

Use unobtrusive javascript.

klew
+4  A: 

There are certain aspects to consider:

Does your application depend on 3rd party plugins/gems? If so than you should check if those are already Rails 3 compatible. You're probably gonna find libraries which are incompatible as yet but there is a big chance that these are gonna "get fixed" sooner or later.

Also, it really depends on what kind of application you are talking about. Personally I'm porting one of my 2.3.5 based sites to Rails 3 but only for preparing and learning purposes. Since Rails 3 is only public beta as yet, IT IS DEFINITELY NOT CONSIDERED TO BE PRODUCTION READY. You can download it, use it and play with it but that's pretty much it for now.

If you decide to upgrade one of your existing projects (which I'd encourage you to do) than have a look at Geoffrey Grosenbach's screencast which will guide you through the upgrading process.

There's also an official plugin which contains a handy script that you can use to find out which parts of your application need to be upgraded.

Attila Györffy