Please. I've been writing rails apps professionally since 1.2. My observations:
1. jQuery quickly replaced prototype for most projects via the jrails gem. This just reflects the underlying reality.
2. Coffeescript as the default was a bad idea. This would make more sense in say a year from now.
3. Rails 3 active record w/ ARel is HUGELY better. I used to have to pull out find_by_sql every so often, haven't needed it yet in rails 3.
4. Bundler solves a whole raft of annoying dependency issues in rails 2. I can't tell you how many hours I lost to dealing with weird issues with vendored gems.
Bringing rails2 apps to rails 3 is going to suck for you. I'd argue that one of the prices for the elegance of rails is that you need to spend more time constantly upgrading it.
However, the advantage of this price is that you have a framework that has been consistently lead of the pack in terms of productivity and simplicity.
Personally I have worked with probably a dozen web frameworks thus far, on top of various languages, including Perl.
I'm not going to say that Ruby on Rails is the most productive, as python's Django (my bread and butter) is not too shabby either, and most popular platforms have some web framework that gets close or that are better at various tasks (e.g. I chose PlayFramework for some project I had because of its async support and couldn't be happier about it).
But IMHO, Rails 3 has the best design of the bunch - ActiveModel, ARel, Bundler, Passenger, database migrations that don't suck, less boilerplate than anything else of the same size/scope, the best plugins system I've seen (yes, I think it is better than Django's, no matter what Zed Shaw has to say about it) and also has the advantage of popularity.
This doesn't come without sacrifice. I hate that they've forcefully added SCSS/CoffeeScript as a default. But the great refactoring of Rails 3 had to be done, as frankly, the Rails 2 codebase was an incomprehensible mess. And you can't be on the leading edge of web frameworks without breaking stuff.
That said, Coffeescript as a default? Geez, I'd really like to know what they are smoking.
I'm sorry yes, the preceding post represents my opinion, and my opinion only. It does not represent the opinions of my employer, bank, or family, nor is it an official verdict of the United States Supreme Court.
Furthermore, any likenesses to people real, living, or yet-born are purely coincidental, or have been properly sublicensed through those who own their copyright.
You may not make copies of my post without the express, written consent, of the National Football, Baseball and Basketball leagues.
1. jQuery quickly replaced prototype for most projects via the jrails gem. This just reflects the underlying reality. 2. Coffeescript as the default was a bad idea. This would make more sense in say a year from now. 3. Rails 3 active record w/ ARel is HUGELY better. I used to have to pull out find_by_sql every so often, haven't needed it yet in rails 3. 4. Bundler solves a whole raft of annoying dependency issues in rails 2. I can't tell you how many hours I lost to dealing with weird issues with vendored gems.
Bringing rails2 apps to rails 3 is going to suck for you. I'd argue that one of the prices for the elegance of rails is that you need to spend more time constantly upgrading it.
However, the advantage of this price is that you have a framework that has been consistently lead of the pack in terms of productivity and simplicity.