3 ms·
For those that are feeling fatigued from working with and around the magic of Rails, Sinatra is a great choice (in python land Django has an alternative called
by hardwaresofton 11y ago
For those that are feeling fatigued from working with and around the magic of Rails, Sinatra is a great choice (in python land Django has an alternative called Flask).
http://www.sinatrarb.com/ http://www.sinatrarb.com/
That said, you will have to re-implement machinery that rails gave you for free. If you're building a simple API, there will be obvious simplicity benefits. If you're trying to build a server-side rendered web application, you may long for some things that rails provided (of course, you can use libraries and create simpler patterns than rails provided).
Note that going the sinatra+libs (or any "micro" framework for that matter) route places a higher burden on the development team when it comes to documentation. If you implement a scheme for server side templating/rendering outside of what is provided, you will be in a world of pain in a relatively short time if you do not maintain good documentation.
- bphogan 11y agoYou will indeed have to re-implement stuff Rails gives you. But more importantly, you will have to maintain it. I maintain a large-ish Sinatra app that should've been done with Rails. Update cycles on the gems are a nightmare. It feels cobbled together. it's a "half baked homegrown version of Rails." Someday I will just move the logic to a new Rails app and be done with it. It was a terrible idea. * your experience may vary. :)
- elliotec 11y agoMy experience was exactly the same. Sinatra is for super tiny things. Rails is for most things.
- tchow 11y agoWhat is a large-ish app? Just for comparison's sake? What makes it large-ish? The number of tables? The number of views? What is the problem that large-ish apps give that Rails solves? Genuine questions, I only do small projects and I honestly don't see a huge benefit to using rails, despite having used it before.
- hkarthik 11y agoAny sufficiently complicated Sinatra app contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Rails.