Switching from Rails to Django
So back in the Fall of 2005 I launched my foray into the world of Rails like every other designer wannabe programmer. I’ll be honest, I did it because everyone else was. Looking back I don’t really know why, I just followed the “if it feels good, do it” principle.
Out of that decision grew a love/hate relationship. I’m primarily a designer but I like sticking my hands in the programming cookie jar. I appreciate things that just work, offering few opportunities for me to unknowingly screw something up. Looking back, most of my time was spent developing admin tools, troubleshooting 500 errors, and deployment. For some reason I accepted this as the norm, and to some degree, enjoyed it. It was like tinkering with a train set (no pun intended). Until I saw a job posting.
World Online was seeking a senior designer to lead its commercial projects. I was interested but it meant no more Rails and I’d have to gain a fundamental understanding of Django, a Python web development framework. This intrigued me. I remember hearing whispers of Django at SXSW in March. I knew there was no way I could seriously apply for the job if I didn’t believe in Django as I did Rails.
After two weeks and with the aid of some great online documentation, I released a new personal site. I was sold, and not just because there was a carrot dangling in-front of me. Realizing I would never have to make another admin tool allowed me the exhale and start dreaming up better designs, info-graphics, API usages, and relationships between content. Django was an instrument that, with little instruction, I could enjoy playing.
It’s been little over a month and I’m still playing. So far, Django has kept a steady beat. No more 500 errors, no more building admin tools, and it’s freakin fast. It should be noted that I have no ill feelings towards Rails. It’s a great framework but the benefits Django offer me, as a designer, are just too great. Plus I took the job so I have to use it :)
For those of you wanting to make a similar switch, I encourage it. Here are some resources that may help:
- Django overview
- Writing your first Django app
- Django for non-programmers
- Are you generic?
- Setting up Django on Dreamhost
The Django community is very welcoming. The online documentation is well written and oddly fun to read. I gained a lot from looking at the actual Django website code and listening in the irc channel (#django). It’s also worth reading the philosophy behind Django.
The popular decision isn’t always the right one. This is pretty obvious to most. I think Django Reinhardt said it best, “Jazz attracted me because in it I found a formal perfection and instrumental precision that I admire in classical music, but which popular music doesn’t have.” I believe Django (framework) lives up to this perfection and precision Mr. Reinhardt speaks of.
Remarks
Baxter
I skipped the Rails hoopla, and at this point I’m glad I did. Django makes much more sense to me on the conceptual level, and I’m happy I went that route.
Although it should be noted I’m a complete idiot when it comes to both Django and Python.
Jeff Wheeler
I also switched my site to Django, from WP. I love Django so much… it is so pretty.
Nathan Borror http://www.playgroundblues.com/
Thats great Jeff, congratulations. I’m not a huge fan of WP so it’s always good to hear someone switching from it to Django :)
Peter Cooper
But you still need to design your admin interface at some point, right? Unless you’re only doing something really basic and not for anyone else to use on the admin side, of course.
Your post would make perfect sense if you said you were switching from PHP to Django (that is, a raw language to a framework) but most of the reasons you give for switching to Django are also reasons many people would cite for switching to Rails (helpful community, good IRC channel, easy to use, philosophy, etc).
I don’t see anything that really explains why Django is better than Rails to a designer, and that’s what I think would be helpful to hear.
hodor
Peter, go check out the django site and docs. The beauty of it is that you do not have to create an admin interface because it is already there, built into the framework. You just have to add a line in each model you want to show up in the admin area and it will be there.
Django is not without a learning curve, especially if you are not familiar with frameworks. Your first site will most likely not be done in “20 minutes” but maybe the next one will.
topfunky
I admire all intelligently designed frameworks and hope to learn Django. (Almost) every Rails developer still envies the delicious admin interface that comes with Django. Hopefully we will have something half as good someday.
The thing that anchors me to the Ruby community is…the community. Why the lucky stiff, Matsumoto-san, Zed Shaw, Rich Kilmer and all the other super brilliant programmers who comprise the Rails community are going to keep me occupied for some time.
However, I still want to learn Django…goes to setup Dreamhost for Django
— Geoffrey Grosenbach, Host of the Ruby on Rails Podcast
Nathan Borror http://www.playgroundblues.com/
I gotta say, I really loved Rails back when I was heavily using it. It was a dream come true after futzing with PHP. I just got tired of making and updating admin tools. I’m a designer and I’d rather focus my time on the look and feel of things.
Geoffrey, your right, the Rails community rocks socks. I can gratefully say the same for Django with people like Adrian Holovaty, Simon Willison, Jacob Kaplan-Moss, James Bennett, Matt Croydon, and so many more. (I feel like I’m trading baseball cards) The community continues to grow.
bir2su http://bir2su.blogspot.com
yea django is great framework to visualise the performance statistically and to learn why i switched from rails to django visit http://bir2su.blogspot.com/2007/11/django-rocks-with-memo…
Dave http://railsordjango.com
U put up a little rails v.s. django voting app up at: http://railsordjango.com
Martin http://acad.coloradocollege.edu/dept/EN/content.php?p=31
Online pharmacy present: Buy tramadol online, Buy ultram, Buy viagra online, Buy xanax online, Viagra 100mg and other.