rails django
(16,446 views)

Rails and Django - Project and Community (part 2/15)

A technical manager's guide to evaluating web development frameworks, with a detailed review of Ruby on Rails and the Django (Python) projects. (Start here: Whitepaper index)

Project and Community

Status and History

Both Rails and Django projects are relatively new, open-source projects. Both emerged from real world websites, proven to handle very large volumes of hits, and encourage agile development (quick, incremental updates) of your web projects.

Rails was developed by 37Signals Inc. (Chicago, Illinois) for a collaborative project management application called Basecamp. Rails was released as open source in July, 2004, released version 1.0 in December, 2005. The current version is 1.2.1, recently released in January, 2007.

Django was developed by Lawrence Journal-World , a small town newspaper in Lawrence, Kansas, for their innovative family of websites. Django actually began development a bit earlier than Rails (2003), but wasn't released as open source until July 2005, and hasn't reached Release 1.0 yet. Normally a 1.0 means the API's (core methods) are stable, and features are finalized and frozen. (To track this, see http://code.djangoproject.com/wiki/VersionOneFeatures, and http://www.djangoproject.com/documentation/api_stability/ ).

In mid-2006, Django went through a major refactoring-- that is, an overhaul of its internal coding to clean it up old stuff, make things more consistent, efficient, et cetera. Rails, I have heard, has not yet been refactored, except for one or two components.

Both projects sport a respectable list of commercial, high volume sites using their technologies.

Project Community

The Rails community is decidedly the larger of the two. There are lots of ways to show statistics on this. Google Trends graphs compare the frequency of Google search terms:
ruby rails, django python

 

 

Google Trends: Rails vs Django



Chat room (irc) activity is another way to see project activity (spot check on 2/15/07): #rubyonrails: 486 members; #django: 219 members. Similarly, Google groups membership: rubyonrails-talk : 7485 members; django-users : 4180 members.

Clearly Rails is the big guy and enjoys “first-mover advantage”. Some say they're just really good at marketing. Good early documentation and online screencast demos helped tremendously. There are several books on developing with Rails (including version 2 of the “Agile Web Development with Rails” book). The annual RailConf conferences are fairly well attended (hundreds, not thousands, of attendees).

Django too has a strong active community. Emerging from the Python world, it's already started to create some good buzz. They too have some screencasts, and The Django Book is in beta draft form. Django folks gather at the annual PyCon conference, where in 2007 Django is one of the tracks.

Both Rails and Django use Trac for feature and bug reports, a wiki-based issue tracking system for software development projects. Both use subversion for source code repository. The community participates by making feature requests, reporting bugs, writing documentation and tutorials, and providing useful re-usable code. That's the beauty of open-source software projects.

Opinion

Considerable value must be given to the size and momentum of Rails and its community. They have very smart and passionate people contributing code, plug-ins, tutorials, and support. (Django does too, only Rails has more of them!) .

But a word of caution. With popularity also comes more "newbies" - new users, many being inexperienced not just with the language and framework, but perhaps any kind of modern programming. In some ways this is great. But it can potentially be a drag on the quality and responsiveness of the project. If/when the Django community grows, it will face the same problems but right now its following seems to be mostly experienced programmers.

I have hung out and asked questions in both projects' irc channels (chat rooms). The people in both are friendly, helpful, and available.

Django is clearly behind, having had a later start, is not yet at Release 1.0, its book in Beta. If you're not comfortable building on a pre-1.0 product, then your decision is easy. Otherwise, don't worry, as it is not unusual for the idea of “no wine before its time” be used in OSS (open source software) projects. The fact remains there are plenty of production sites using Django in its current condition.

Conclusion: Both projects are active and vital. Rails is bigger and stronger.

 

Project / Community
Rails Django When open sourced July 2004 July 2005 When 1.0 released Dec. 2005 TBD Current release (as of Feb 15, 2007)
1.2.1 0.95.1 Repository subversion subversion Issue tracking trac trac Website, wiki, blogs
very good very good irc channel members (Feb 15, 2006 3pm EST) 486 219 Google Groups membership

7485

(rubyonrails-talk)

4180

(django-users)

MY RATING (1=worst, 5=best) 4 3

 

 

Comments

by Hawkeye on Feb 27, 2007

>>

Django's pre-1.0 status is a design choice that can be misleading to outsiders. It's lack of a '1.0' badge is not an indication of code quality or functionality.

Disclaimer: The following is not a comparison of Django to Rails... I have almost no experience with RoR, and am not trying to say Django is better. I'm just trying to provide a bit more background that the article misses.

The Django crowd wants to -get it right- rather than get 1.0 out the door.

It would have been possible to (and many projects likely would) call the code base prior to the refactoring effort "1.0". However, there are strong convictions in the Django community regarding functionality and backward compatibility.

The developers of Django have gone to excruciating lengths to ensure that the development branch is unbroken, thus there has been no immediate pressure to go v1.0. As you mention, many production sites are using Django, with great success. The lack of a 1.0 moniker should not turn potential users away.

by Anthony Eden on Feb 27, 2007

>>

FYI, Railsconf 2007 sold out 1200 seats.

Anyhow, I'm excited to see the remaining parts of your comparison...the meat if you will, as well as what your final conclusion was. Keep it up.

by Derek on Sep 21, 2009

>>

Its interesting that, as of Sept 2009, the Google Groups membership has gone up to 19 thousand and 15 thousand respectively for Rails and Django. One has doubled in size and the other has tripled.

by Michael on Jun 14, 2012

>>

It's interesting to see how the google trends is at of today: http://www.google.com/trends/?q=ruby+rails,+django+python

New Comment

markdown formatting permitted