Rails and Django - Conclusions (part 15/15)
Tallying the Ratings
| Evaluation Criteria | Rails | Django |
| TECHNICAL | ||
| Programming Language | 4 | 4 |
| Framework Concept | 3 | 4 |
| Directory Structure | 4 | 5 |
| Database / Model | 4 | 3 |
| URL Routing | 3 | 4 |
| Controller / Views | 3 | 3 |
| Templates | 3 | 3 |
| Forms | 3 | 3 |
| Data Administration | 2 | 2 |
| User Administration (authentication, sessions) | 4 | 3 |
| AJAX | 4 | 3 |
| RESTful | x | x |
| RSS/Atom/XML | x | x |
| Internationalization / Translation | x | x |
| Caching | x | x |
| Security | x | x |
| TECHNICAL SCORE | 3.18 | 3.27 |
| SUPPORT | ||
| Project / Community | 4 | 3 |
| Documentation | 4 | 3 |
| User Extensions | 4 | 2 |
| Development / Debugging | 3 | 3 |
| Test Tools | 3 | 3 |
| Deployment Support | 4 | 3 |
| SUPPORT SCORE | 3.67 | 2.83 |
| OVERALL SCORE | 3.35 | 3.12 |
Evaluation Results
To state the obvious, your priorities and ratings may vary greatly from ours, leading to completely different results. But let's analyze my results.
In the Technical categories, Django eeks ahead by just 0.09 point, with a score of 3.27 versus 3.18 for Rails.
In the Support categories, Rails shines, with its strong community and attention to the whole development cycle, rating 3.67 to Django at 2.83
And that puts Rails over the top for a final score of 3.35 against Django at 3.12, a 0.24 spread.
RAILS: The Winner!
DJANGO: A close second.
Of course, the story is far from over.
Rails is vulnerable. If Django builds a stronger community and support infrastructure, and succeeds in completing the features promised for its upcoming Release 1.0 and beyond, it could pull ahead as the superior choice.
That said, Rails can keep its lead by bolstering some of the technical areas where it lost points. Although some scores were more a matter of taste, we already see improvements coming in core and from community plug-ins which will enable Rails to maintain its leadership.
We'll be watching... :)
This all in fun. Clearly both frameworks are excellent products, offering improved productivity and higher quality web application development. The two camps are exchanging ideas, as cross-pollination is inevitable. And, as they say, a rising tide raises all ships.
Summary - Making Your Decision
First, you might want the programming language to be the deciding factor in choosing a web development framework. If you're already experienced in a programming language, and want to stick with it, then your decision is easy(ier).
If you are a Pythonista, then by all means, stick with Python. In that case you may still be doing a framework evaluation, as there are several competing ones in Python including Django, TurboGears and Pylons.
Similarly, if you are a Rubyist and love it, then stick with Ruby and use Rails, or consider one of the competing frameworks in Ruby.
If you are programming language agnostic, or don't mind learning a new one, then take the time to get to know the language syntax, communities and available resources. What are your friends, colleagues or employees using? That could be a factor too.
Second, do you like being an early adopter or are you more of a conventional buyer? While all MVC frameworks are relatively new and early, Django might appeal more to early adopters at its current stage.
Third, are you more comfortable relying on user contributions, or do you generally prefer to roll your own? Rails has a much larger body of plug-ins and other resources than Django.
And finally, do you like the efficiency of having things packaged together for you, or do you prefer the freedom of making your own choices? Rails is more “opinionated” and does more packaging. Django, in its Pythonic way, leaves more choices up to you.
Good luck, Have fun, and Build cool stuff!
SPECIAL THANKS to the Rails and Django developers for doing what they do!
About Parkerhill Technology Group
Jonathan S. Linowes is owner of Parkerhill Technology Group LLC (www.parkerhill.com ) a web development firm based in New Hampshire USA, specializing in Web 2.0 applications development, product management and business planning. Contact us.




Rails and Django - Conclusions (part 15/15)
Posted by: Eriksen on July 25, 2007 01:10 PM#