Background
I've written several production apps using Rails 2. I've gotten comfortable with it. I kind of have my Rails 2 routine down.
However, now I face a dilemma.
I have two new apps to write immediately.
Rails 3 has been out for a while now, and I wonder if it's time to get a book, invest some weekends and evenings, and start coding these and any further apps using Rails 3.
The things I write are usually stuff like "take our equipment inventory开发者_高级运维 that's in MS Access and make a Web app of it," or "write an app that lets the secretaries post PDFs to our website and attach notations to them." (Those are made-up examples to give you an idea -- not the actual apps I'm working on or have ever worked on.)
Side note
On a personal level, I do understand the value of learning for its own sake and I am genuinely curious and interested in learning Rails 3. But I also have to respect time and energy limitations. I'm curious and interested in a lot of things. So I have to choose carefully.
Main question
What features / capabilities / improvements does Rails 3 have that might make the investment of time and risk worthwhile?
Or to put it another way, if I invest a week or two on Rails 3 tutorials, will it pay off in huge times savings later because Rails 3 development is way more efficient?
Other question
Is there a major downside to just sticking with Rails 2 for another few years or another four or five apps? Some looming danger I should be aware of?
Here is my take on it:
- New plugins and gems will be developed for Rails 3.x, not Rails 2. And what speeds ups development most, are solutions supplied and maintained by a community.
- Bundler. Although it can be used with 2.x, I admit.
- Engines! It's not well docummented at the moment, and maybe a bit buggy, but I feel it will be an enabler for nice things.
- Finally, and most important - you'll wake up one day, as a master in Rails 2.x, when a situation will require from you being a moderate Rails 3x framework user. That's inevitable imho.
And a transition to Rails 3 will not be as near as painfull where we had only beta / release candidates. So I encourage you to go for Rails 3.
There's a list of the most major changes at the Rails weblog, and others in the official Rails documentation. A lot of the changes involve cleaner syntax (some of the bigger ones being unobtrusive javascript and new routes syntax) and simpler ways to do common things (ActionMailer, chainable AREL).
精彩评论