views:

702

answers:

8

Currently I have a website on the Google App Engine written in Google's webapp framework. What I want to know is what are the benefits of converting my app to run with django? And what are the downsides? Also how did you guys code your GAE apps? Did you use webapp or django? Or did you go an entirely different route and use the Java api?

Thanks

+5  A: 

With Django on GAE, you get all the benefits (and also the non-benefits) of GAE. The benefits are mainly automatic scalability and high reliability at a very low cost.

You may want to start by checking out the following:

Daniel Vassallo
Thanks, that is a good list of resources.
RHicke
+1  A: 

I've recently changed my development from webapp to django (using app-engine-patch b/c they have added more features). Check out app-engine-patch here:

http://code.google.com/p/app-engine-patch/

I really liked how simple webapp was to use and it had all the tools I needed for a while. However when it came to adding user accounts on to my site I found that I either had to roll my own system (with sessions etc. which can get complicated on GAE) or use google/gmail accounts with webapp.

I didn't want my users to have to sign up for google/gmail first before they signed up with me.

Therefore I'm trying out django with app-engine-patch because they have already implemented the user functionality from django and it seems to work just fine.

With Django vs. Webapp they both have similar performance, and both offer the automatic scalablity etc.

Django has some nifty form validation etc. but i see the user stuff as the biggest difference between the two.

Good Luck.

Travis
+3  A: 

As it turns out, I asked this same question:

http://stackoverflow.com/questions/1934914/why-use-django-on-google-app-engine

It mostly resolved to two items:

  1. In functionality where webapp and Django overlap, Django tends to be a bit nicer and/or more flexible.
  2. If you were to later want to move away from GAE, Django is a porting goal.

My question (in combination with the wealth of information Daniel Vassallo provided) should answer your question completely.

Travis Bradshaw
+1  A: 

GAE is a great tool for new and small projects, that do not require a relational database. I use a range of web hosting solutions.

1) I built www.gaiagps.com on the App Engine, because it was just some brochureware, and a tiny key-value store for the blog part.

2) My colleague also built a web crawler on GAE, because it was just some simple Python scripts that collected web pages. That app actually sends the data over to EC2 though, where more work is done.

3) I host www.trailbehind.com on EC2 because it uses a geo-database (PostGIS) which you would basically have to implement yourself on App Engine.

4) I host TRAC and SVN on WebFaction, because it's off-the-shelf for any slice there.

If I need to do a site in a couple of days, I use GAE. If it's a large or existing project, or has a funky database, I use something else.

Andrew Johnson
+1  A: 

I did some django/GAE work a last summer (see Plunging into Web Development). The App Engine Patch is a must.

The only real problem I ran into was the 1M upload/download limit imposed by GAE. I could upload larger files by using HTTP directly to S3, but I couldn't retrieve them through GAE. I hope they've lifted this restriction since then.

Bob Nadler
+1  A: 

If you are looking other GAE CMS frameworks besides Django, take a look at Vosao. It is a Java CMS framework which uses Velocity for templates. The framework is still in alpha and is under heavy development. The current version (0.2.3) is stable and highly functional.

You can see an example of a working Vosao site on my personal domain.

Steven Veltema
A: 

I prefer webapp. It scales better according to Google and seems to better integrated with the App Engine infrastructure. Plus it's more lightweight.

Matt H
A: 

try kay-framework if you are looking for framework specifically designed for google app engine.

iamgopal