News, Events, Trends, Activities, Conferences and Notes to do with Web Culture, Development, New Media, Content Management, Mobile and PDA Access and Web Infrastructure
|
See Also: Home Links Personal Site Blogroll FriendFeed CV | |
Wiki Menu: |
OSDC : Rails Vs DjangoThis was a talk based on a paper presented at OSDC 2006 by the speakers Alan Green (from Cirrus Technologies ) and Ben Askins on the topic of comparing development time, complexity and issues of an identical application in both Ruby On Rails and Django, two popular rapid web application development platforms. The talk was entertaining, and they admitted that the paper has received some criticism for its methodology, but their candid and open observations were interesting and seemed well received. The two developers had similar experience with their respective toolsets, and built an application which was a web based book reading history and review application, with ability for reviewers to comment and tag a book as well as link to Amazon for the cover page based on a submitted ISBN number. The anonymous read-only view of the apps was essentially identical, but the authenticated author/admin modes differed. In the case of Django an admin interface is shipped out of the box thru an crud like system which uses a schema definition in the application to introspect and dynamically build the required admin interface for data entry. In Rails however this admin interface had to be built from scratch which made a reasonable difference to build time. The trade-off was that the Django admin interface inst overly user-friendly, is much more techie looking, whereas the Rails version can be tailored to have the same look-n-feel as the view-only i/f Both developers followed a similar development methodolgy, developed html prototypes, established a data schema, loaded some test data, created templates, built the MVC layers (which both approaches use) and tested and polished their applications. Altho both Rails and Django use a schema to drive data and i/f only Rails can be modified without too much bother following initial deployment, the schema can be changed and it will dump data, and reload in new format. In Django this is a much more manual and laborious process. Both have a templating language for the view layer, Rails have a more flexible and reusable model tho, whereas in Django it seems you have to build multiple standalone/independent templates. There were about 80 attendees in the room, 10 of which had some Rails experience, about 5 had Django experience, and about 20 people had Python experience (which Django is written in). Both developers used the YAML language to store then load a set of test data into their respective applications, YAML seems to be favoured by the Rails community but is generic and seems a useful human-readable mark-up language which for the sake of the comparison created a level playing field for them as far as building a data load facility to test their apps. The presenters summarised by providing some guidelines for those considering which platform to use, basically they believe the two are close enough that you should use whichever one you know the base language for (Ruby or Python), if you need AJAX go for Rails, if you want designed friendly abstraction for template development go for Django, if you need lots of back-end admin screens in the app use Django, if you expect an evolving schema go for Rails, if your after maturity and support resources in the form of books probably choose Rails.
See Also: OSDC 2006 | Web Development | Notes Index |