RT @DannyTRS: Mind.....BLOWING. RT @jmechner: It's been almost as many years since Star Wars as between Star Wars and The Wizard of Oz. #fb
41 weeks 5 days ago
Follow me on twitter - @prouty

A Django Detour

The last couple of months I've been working on a new website using Django. I'm back to working with Drupal, and that was always my intention. This was my first Django project and I have to say I really enjoyed developing on the platform which, for this particular project, I feel was a great fit. Python, the language on which Django is built, is a beautiful programming language. The code is clean and easy to parse visually (as opposed to how PHP can tend to look), without being "magical" (talking to you, Ruby on Rails). I used it a few years back while interning for Charles River Analytics. Django is a very well designed system for developing web applications and I'm very glad I took the time to get to know it better.

The website I developed using Django is still being populated with content by the client. I'll write a new post once it's being publicized to the world at large.

For certain projects, as with the one I was working on, Django is a good fit. The design (HTML/CSS) of the site was already completed and I was not yet at the level of expertise in Drupal to know how best to convert it to a template in that framework. Django, on the other hand, was really easy to figure out in that regard. There didn't seem to be a lot of overhead in terms of knowing how to accomplish this task. The design (style) of the site (which, again, was done before I signed on to develop the back end) unfortunately doesn't allow itself for much expandability, in terms of the various modules one can add to a Drupal website. Given these facts, and knowing that the scope of the website was quite specific, Django was the way to go. I believe Drupal would have been overkill.

The reason I'm still sticking with Drupal, though, has a lot to do with the size of it's developer community. Once one understands how Drupal works, so much more can be accomplished in the same, or less, amount of time - thanks in large part to all the various contributed modules. This can, however, make "feature creep", in which new features (in the form of "modules" in this case) tend to creep up during development, more likely to occur. It might be easy to enable a bunch of different modules in Drupal, but that doesn't mean one should. Think of the poor user who has to wade through all that information being presented to them. So, going forward, I intend to work with Drupal, taking advantage of what it has to offer. At the same time, my approach to the development of whatever Drupal projects come my way, I believe, should be in answering the question "What *should* this website do?" as opposed to "What *can* this website do?" in order to develop powerful web applications in the shortest amount of time possible.