Google App Engine: a few thoughts

When I read about it I was very interested. An integrated solution to rollout web applications in a solid and easy framework? That is nice! I know that some similar solutions already exists, but if Google does something like this…

Google App engineI took my time to watch some video, read some documentation, and have some personal thoughts about Google App Engine.

My first question was: why Python? It is not widely used… well, I do not know why, but I think Google will roll out solution for different languages. It is just a detail.

My second question was: why Django? I love XML/XSLT. I love it because it is standard. It merges standard data form (XML) with a standard stylesheet (XSLT). Well, another detail.

The first concern, however, was of a different sort. Even if the example posted in the video was a sort of “Use me like a Front End Controller”, the App Engine is not MVC. I think Model-View-Controller framework for web applications are very stable and flexible. I am a little concerned about it. I believe that a wider set of requirement to support a dictionary and an MVC implementation would have higher the initial learning curve a little bit, but would have speed up the real development. Did not they choose Python, that is not precisely the best language to keep low the initial learning curve?

My second concern is about the data storage. I believe that every data interaction should be done via objects, as it is done in Google App Engine, but with a difference: I think that mixing SQL code with programming code is Evil. Having a persistency layer you can implement a object-oriented way of retrieving and manipulating data, SQL can be avoided.

Apart from these technical digressions, I believe that the solution has been moved in the right direction: removing some barriers.

Clearly the move is very intelligent if you think that one of Google targets is to remove IT from companies: you will not need an IT guy to manage your server any more.