Topic: Rails vs Django
I apologize if this has been posted already (did a search and didn't find it), but I really am curious about the strengths and weaknesses of each framework. They seem to have similar philosophies, and I would love to use both. Here was a reply by one person to my question "What does Django offer "for free" that Rails doesn't?":
- Production-ready admin interface. It uses reflection rather than generated code. That way when you update your models/tables, all the admin forms show the new fields and stuff.
- Extensible authentication framework
- Internationalization (http://www.djangoproject.com/documentation/i18n/)
- Extremely flexible URL design. This has been crucial for us designing a RESTful API, and makes it a snap to change how your app is arranged.
- Built in Syndication framework (http://www.djangoproject.com/documentation/syndication/)
- Sitemaps framework (http://www.djangoproject.com/documentation/sitemaps/)
- Cache framework (http://www.djangoproject.com/documentation/cache/)
- Automatic generation of forms (http://www.djangoproject.com/documentation/newforms/)
- In Django, a "view" is equivalent to a "controller" in rails. Many times these views are repetitive (list objects, edit objects, archive by date, pagination, etc). Django has something called "generic views" which allows you to get all this functionality for free, just
by configuring your URLs properly. (http://www.djangoproject.com/documentat ric_views/)
There's a ton of other stuff out there, like the Comments app, ContentTypes, all kinds of cool stuff. After using both Rails and Django, I see no reason to use Rails anymore. On top of the
frameworks themselves, Python as a language is much more mature and proven. Deploying django apps is a breeze. Rails, well, not so much (at least in my experience).
Not trying to start a religious war between the two frameworks, but I would really like to know if there is anything to it. Always the right tool for the job and I would like to know what jobs Django is good for.