As I mentioned earlier I will start writing some rails tutorials in my Post “Why Django is more attractive then Rails?“. So now I have created this separate rails tutorial section which will serve as a TOC for all my rails tutorial posts. I have decided to start with a simple todo app. One thing to note here is we will be using rails 2.1 (which is the latest version of rails), so I might also write how you can install rails 2.1 on your machine. Sorry for the confusion that I wrote in my earlier article that we will be using rails 2.0. But any how its rails 2.x which is very very different then rails 1.x, so I hope my effort will not be wasted and it will be of some benefit for some newbies converting to rails out there.
One more thing I am not a rails advocate or something, I am just a developer who wants to help newbies. The reason I am writing these rails tutorials is because there is a lot of information for django and other frame works but I think rails lack a simple introduction which can help a newbie understand rails better.
So, I am not sure right now how much articles I will be writing to complete the tutorial but we will go in steps, which means I am not going to write a long article at once. So stay tuned please I am almost finished with my first post and it will be here soon.
One of my friends was introduced to rails when the version 2.0 was already out. He tried to learn rails for months on his own but couldn’t succeed. Recently he contacted me and asked if I have books, materials or may be links to some good books/tutorials for learning rails 2.0. And to my surprise there is not enough material available for a newbie to learn rails 2.0 which is totally different then the older 1.x version.
The whole internet and even the rails site points to old materials and this is quite confusing for newbies. My that friend has already been turned to Django for professional development but he still wants to learn Ruby on Rails. The books like “Agile Web Development With Rails” is still to come out for Rails 2.0.
So, now to give something back to the community I have decided to write a through more then a “Hello Wolrd” tutorial for rails 2.0 so newbies don’t waste their precious time just looking for the information which is almost now obsolete. I said obsolete because Rails 2.0 has been changed alot, although the old programmers don’t notice it much because of their prior experience of the language. But for new comers its confusing when scaffolds don’t work for them or they get confused when they see the config/routes.rb which has new majic of map.resource covering everything.
So, hopefully I will be able to solve all these mysteries here. Also if you have written something for Rails 2.0 you can post the link in comments and later I will create a separate post that will points to all the external collections.
Oh yes! Finally. Google has releast a Django helper for their Google Apps Engine. The helper gives you the blank project the same that would be provided by django-admin’s startproject command. From the README file:
The helper is provided in the context of a blank Django project, very
similar to what would be provided by the django-admin.py startproject command.
This project contains minor customisations to manage.py and settings.py that
demonstrate how to integrate the helper with a Django project.
Helper helps you use your Django framework almost natively and build your Django apps that would be runnable on Google App Engine. The Django helper provides following functionality:
- The ability to use most manage.py commands
- A BaseModel class that appears the same as the standard Django Model class.
- The ability to serialize and deserialize model instances to JSON, YAML and XML.
- Access to Django’s test framework with a test datastore and support for fixtures.
You can read about the announcement on Google App Engine Helper for Django
The steps Google has taken will really help Django Community to get their hands dirty with Google Apps Engine. As now they have BaseModel class that is same as Model class provided by the Django framework. The people who have used Django would agree with me that Django DB Models are very easier to manage and use then any other frameworks (I have used CakePHP, Django and Google Apps Engine). But I am fan of Django DB Models as they provide the Pythonic interface to your Database.
As summer is near and I am committed with my self to get my hands dirty on Ruby this summer and Google App Engine Team is working hard to add other languages support like PHP, Ruby & perl. So hopefully by this summer they will be able to add Ruby until then I would be familiar with Ruby on Rails framework, then I might be in better position to decide which framework gives your the easiest DB API and DB Models.