4 ms·
To me, this choice comes down to what type of site I am building. For an API: Sinatra. A CMS: Django. A sprawling web app: Rails. Each frameworks was built to
by nzoschke 15y ago
To me, this choice comes down to what type of site I am building.
For an API: Sinatra. A CMS: Django. A sprawling web app: Rails.
Each frameworks was built to address a very specific set of problems.
- mgkimsal 15y agoDo you really think that's true, that each was built to solve a specific set of problems? Or do you think each team thinks of their tools as much more generic, and applicable to a wide range of problems? I'm not aware of too many frameworks that tout themselves as being built only for a narrow set of problem domains.
- bonzoesc 15y agoWe actually do know what each one was built for. Rails was originally used to make Basecamp. The closer in functionality your app is to the apps the core team builds, the better Rails fits. Django was originally a CMS for a news site, so it's no surprise it's stayed good for that.
- nzoschke 15y agoAnd Sinatra was built to serve the APIs for the SongBird client.
- zeemonkee 15y agoI've built many a "sprawling web app" quite successfully with Django. Django and Rails have long since outgrown their original, in-house roots.
- nzoschke 15y agoMe too. But I find Rails a lot more helpful, especially when your site turns into a mashup of web with forms, Ajax and a bit of REST. Django doesn't have opinions of much outside a standard HTTP request/response.
- zeemonkee 15y agoWhich is actually a good thing, provided you know what you are doing.