views:

442

answers:

3
  • Are there any important features in Rails or Django which do not exist in the other framework?
  • Is there anything important missing - for an enterprise web app - in either one?

This question is not intended to be argumentative - I am trying to make an informed technology decison for an upcoming project. Two of the concerns I have, with regard to choosing one of these frameworks, are:

  1. Integration with external systems (Java, .Net, SAP, etc)
  2. Reporting - would there be any difficulties producing sophisticated reports/charts (financial) using either framework. This would require multi-table joins, custom sorting, pagination (w/ajax) and printing for different devices.
+1  A: 

My experience/opinion is that Rails is much more flexible and has a more diverse ecosystem and is developing faster while Django is more stable, slower changing, better documented.

Rails has a huge advantage for integration with other systems via JRuby. You can give rails access to the entire Java ecosystem and run it on the JVM.

Django might be able to take advantage of .Net via IronPython (I don't know anything about this other than that IronPython exists - while IronRuby is only on the way but not here yet)

srboisvert
Excellent. Thanks.
Django runs on the JVM via Jython, just the same way Rails runs via JRuby.
James Bennett
+9  A: 

Django on Jython is running nicely so Java integration shouldn't be a problem.

In terms of integration in general don't forget that Django is also Python so you have the massive support of the standard library plus all the other mature well supported Python projects out there. Integrating 3rd party Python code into Django projects is usually trivial.

At the risk of getting evangelical I would list the following Django killer features:

  1. The admin
  2. The documentation
  3. Python ;-)
andybak
+2  A: 

Django also has GeoDjango. The NY Times chose Django over Ruby for their Represent project for easy mapping support:

"We built Represent with Django, the Python web framework. Although we do most of our work with Ruby on Rails, we chose Django for this project so we could use GeoDjango, an add-on that supports geometry fields and extends the ORM to allow spatial queries."

Doug