Here's some unbiased thoughts - at least our thoughts. We got tired of
the increasing complexity and continuous changes in Rails so we looked
for something else - we found Merb, really liked it, especially
DataMapper. But just at the time we were going to switch a big project
to Merb, the Rails 3 merge was announced. Just at this time we
discovered Sinatra here was a really clean, simple framework that also
worked with DataMapper. The only drawback was some fewer features -
testing, helpers, and a bigger user base.
So we had the choice of Rails 3, Merb, Sinatra. We ruled out Merb
because the direction of the core developers were going towards Rails3 -
that doesn't mean the project ceases to exist, but we didn't see a
critical mass of both developers and community staying with it and we
didn't want to use a "out of mainstream" framework. We use the Barnes &
Noble test - how many (or any) books for the software are on the shelf
? Maybe that doesn't matter for you but for a commercial app, you
should worry about where the support or knowledge will be in 3 yrs (if
not longer). Although Rails3 has the big following, we knew it would
be a long while before the whole merge thing would sort out and it would
put us back in the Rails camp where we were looking for something
simpler. That left Sinatra - the framework doesnt' have a huge
community like Rails but it is so lightweight, that it's really all
about Ruby and Ruby does have that big following. So the only question
was - was it fast enough, stable enough, easy enough, and "professional"
enough to use vs Rails - the answer is yes and we are quite happy.
I'm sure other opinions will vary - this is just ours. Hope it helps
you make a decision.