Friday, August 1, 2008

The search for a great web development framework - Part 1 - Ruby on Rails, Grails, and Django

The first time I started doing web programming, I was using java struts and straight JDBC. I had just learned object oriented programming, and was excited to put it to use. However, I immediately became annoyed with the difficulty in working with relational databases and OO code. However, I was still excited about OO programming. Shortly thereafter, I took a role developing Eclipse plugins. As part of that work, I was exposed to the Eclipse Modeling Framework. To my great pleasure, with that framework I was able to persist objects with little work on my part.

Due to my enterprise development role becoming boring in the technical sense, I have become inspired to see what the latest and greatest there is in programming. I have also been considering doing some freelancing, which would mean I would most likely be doing some web programming. I was told some things about Ruby on Rails that sounded interesting to me. Again, especially the part about persisting objects in the database is very easy.

So far, I have tried Ruby on Rails, and Grails, and I have been looking into Django. Here are my thoughts...

Ruby on Rails is cool, but seems to have a reputation for not scaling.

I started looking into Grails because of it being really a java technology. Most of my experience is in java, and java has such huge, mature libraries because it is so widely used. After attempting Grails I found that the documentation was not good, it was slower than RoR, I didn't like having to restart the server when I changed my code when I didn't have to with RoR, and doesn't seem to have a real strong community.

I'm thinking about trying Python/Django. Python seems to have a strong community of programmers and I've heard the libraries are good like Java.