I’ve been playing with Sinatra lately. I had forgotten how awesome it is to work with. There are a few things that I really enjoy about it, and has got me thinking that maybe Rails is too tightly coupled.
1) Sinatra is great at remaining small and only pulling in what you need.
2) If there isn’t something baked into Sinatra, I have been able to find a gem for it that works for my needs well. Rack Flash is a good example. When I need flash messages, it fits my needs.
3) Setting it up how I want it with Bundler, Rack, etc.. is a good lesson in getting back to basics for me.
Rails is no longer a no-brainer for me. It’s not that Rails is not a great framework; it definitely is. It’s just that I typically don’t need or want all that comes with Rails. Notice I didn’t say all that Rails gives me. I don’t really see it as Rails giving me tools as much as I see it as baggage that I have to deal with, or ignore.
I’m coming back around to small, decoupled frameworks that allow me to get up and running quickly.