Tuesday, September 29, 2009

GAE + Django = Godlike

Imagine you are given tools and the platform simultaeneously to show off your talents and everything at free( as in free beer ;) ) of cost. Wouldn't you start right away!!!.
The tool here is Django and the platform is GAE - Google App Engine.

I first time I heard the name Django was in a blog post. Though at that time, I didn't know the beauty of philosophy behind Django, the excitement to try something in the web building domain pushed me to go for it. Adding to my excitement was the fact that Django was implemented in Python. The next moment, I installed Django and started reading Django-docs. Since this was the first time I tried something on web building, I got stuck at a point and couldn't proceed further. But I still had the dream of designing a very small website or at least a web page. Luckily, I was able to attend a talk on Django at PyCon India 2009 and got the solution for my problem.

On the same day, my friend suggested me "google app engine", when I told him I was interested in Django. Though the name says its a Google project, I had no clue what it was. It was then lost in the jargon of my "to do" ideas I got after attending PyCon.

The excitement of continuing Django from the point where I left it got to me on the day on PyCon itself, after attending the talk on Django. I started reding Django, now from an e-book. After reading it for 3-4 hrs, I was totally lost and had no clue what was going on. I googled for a good book on Django and found the awesomest source for Django tutorial, The Django Book. As I started reading, I not only found the book very easy to learn, but also very clear on the concepts. The whole book can be finished in a quarter of a day even by an intermediate python programmer if he has a fairly good knowledge of HTML. The greatness here is not of the book but of the framework. The design was so thought of and researched to fit every need that, you will start appreciating it after the first hour of reading itself. Django follows the DRY-Do not Repeat Yourself principle and adheres to it in every possible way. I got some very simple ideas and decided to implement them. Wait!!! What if I had a chance to host it. Then suddenly it stuck to my mind that I had a new topic to read about, GAE.

I googled and started off with installing and getting started. GAE is a platform with which you can host your website on the google architecture and monitor it. GAE supports website backends in two languages viz., Python and Java. GAE itself ships with an appengine, a framework. But it also supports any any WSGI-compliant framework. Hence, it also supports Django and I am already starting to hit the limits of my imagination on the possibilities using them.

GAE also supports many frameworks like CherryPy, Pylons, and web.py. There is a debate on whether to use Django or appengine framework. Here are a few links that help you decide http://aralbalkan.com/1348.

I am going with Django because it is simply too good.

1 comment: