24 Hours with Google App Engine
In the past 24 hours, I looked at Google App Engine. The result: the index page of teemlabs.
Yes, it's a static page. But that's not the point. The point is, I'm now more familiar with appengine than I was yesterday, and I'm lovin' it.
Just a run-down of the things I did regarding appengine yesterday.
I downloaded and installed the new Google App Engine Launcher. It's for Apple machines only.
This app is sweet. You want to create new app or deploy your freshly coded app? Or maybe you just wanna view logs? One click is all it will take. Or something like that. :P I also set TextMate as the default editor, and enable the option to open the directory.
I made a widget creation app, whatever you call that thing in iframes or javascript that you embed in your blog or web site. But I chose not to deploy it for personal reasons.
I decided to work on that app using Django. I read this and applied what I read to my code.
I also learned a little about the Datastore API, which allows your app, well, to store data. Django ORM, while I think is really, really nice, isn't supported by Google App Engine. Datastore API is similar to Django models API, so it wasn't much of a hassle. Then, there's the Query class, which has the filter() and order(). Still familiar. And then the GqlQuery class! It's a query interface which uses GQL, an SQL-like query language. Quite familiar but I prefer the less SQL-like Query class to this one.
One thing I failed to try was the validation of attributes of a Datastore object. I think validation is fairly easy to do, as the docs say, the validator is just a Python function, though I have to see this for myself.
I had to look at the Django 0.96 documentation once in a while. My Django's a little bit rusty.
I also downloaded and installed python-dateutil to the app. I had to manually add the directory of the python-dateutil to the Python path before I could import it.
And then teemlabs! I wanted to deploy an app before the day ends. A little bit of CSS here, some Django templates there, I was ready to deploy teemlabs! A single click, Click! Uploading... Failed. Oh! A typo in the app.yaml. app.yaml is used in deploying your app. I mistyped the application to 'teemlab' instead of 'teamlabs'. Tsk.
So there. I don't think I mentioned everything appengine-related I did in the last 24 hours. Oh wait, I also joined the Google App Engine Google Group.
Although some people have blogged about some limitations of appengine, I'm even more excited about appengine, after I've read the docs and all.
Earlier today, Google added two features to appengine: the Images API and the Memcache API. They've updated the SDKs. It was version 1.0.2 yesterday; now, it's version 1.1.0. Sweet.
Good things get even better.
Originally published at http://devblog.timmedina.com/2008/5/30/24-...



