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.
Google I/O the developer event that happened in SanFransisco, many were able to join it but there are thousands of people who were not able to join it Google has not forgotten them. The videos of almost all the talks has been posted but the best one is “Rapid Development wiht Python, Django and Google App Engine“.
Its a must watch video so I decided to share it here. I hope you will benefit from it. You can get the presentation slides from here.
If you like the above video then there are few other good videos too related to Google App Engine, so if you ware interested in learning Google App Engine and not only that but there are videos for other Google technologies which include Gears, Gadgets, OpenSocial and gData. Have look at Google I/O session videos posted with slides
Wow! Great news for python developer out there, Google has open the signup for their App Engine. Now every one can signup for the App Engine account. If you haven’t got your account yet and want to be on the bleeding edge of web development, then go and signup for App Engine and have some fun with App Engine SDK then you can upload you app.
Google App Engine has also introduced to new API which includes Image manipulation and our all time favourite memcache API. So, its time to put the fun back into web development and lets develop some useful apps based on App Engine.
If you are Django Developer then you can put your Django Apps on Google App Engine too. Happy developing.
Note: If you are not a developer and want to see something developed on App Engine, then leave a comment and may be some of us will do it for fun.
Guido Van Rossum, who has been working with team working on Google App Engine, has released the open source version of Mondrian. Mondrian is the code review tool heavily used at Google by Google Engineers, Mondrian was developed by Guido as his first project at Google. Guido said:
My first project as a Google engineer was an internal web app for code review. According to Wikipedia, code review is “systematic examination (often as peer review) of computer source code intended to find and fix mistakes overlooked in the initial development phase, improving both the overall quality of software and the developers’ skills.” Not an exciting topic, perhaps, but the internal web app, which I code-named Mondrian after one of my favorite Dutch painters, was an overnight success among Google engineers (who evidently value software quality and skills development :-). I even gave a public presentation about it: you can watch the video on YouTube.
Guido always wanted to release Mondrian as open source, but due to its popularity amongst Google Engineers he couldn’t released it as Mondrian is heavily tied to Google internal development tools. According to Guido:
I’ve always hoped that we could release Mondrian as open source, but so far it hasn’t happened: due to its popularity inside Google, it became more and more tied to proprietary Google infrastructure like Bigtable, and it remained limited to Perforce, the commercial revision control system most used at Google.
But After joining Google App Engine Team Guido got a chance to write the clone of Mondrian which he named Rietveld and released as OpenSource. Rietveld is available at: codereview.appspot.com
According to Guido:
The Rietveld app serves several purposes at once: it is a demo of fairly large-scale use of the popular web framework Django with App Engine.
To learn more about Rietveld read the article on Google Code!
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.
DjangoDash, let see who is the fastest and coolest. A competition of its kind which is based on Django Frame work is about to start. Every team can have 2 participants and they will need to build a Django app in a very tight timeframe of 48 hours.
This competition is going to prove that “Django is the webframe work for perfectionists with deadline”. So a 48 hours deadline and you need to build a coolest app, with good code quality and everything a perfect django app should have. See DjangoDash judging for more information.
Note: If you don’t know Django and want to participate in DjangoDash and you think you a good/innovative coder, please grab your copy of Django now and start learning and coding in Django. There is still time in competition to start.