sw00
sw00

Reputation: 980

GAE Webapp or Django-nonrel?

I want to host my personal site which will mainly have a blog, gallery component as well as code snippets and demos.I've chosen GAE because it offers free hosting for a reasonably scaled website(i.e. personal sites).

I initially thought it could host Django applications without any modifications and since I have some experience in Django it'd be easy for me to deploy a site. However, upon further research I discovered that this was not the case and it requires some "hacks" to host a Django site on GAE.

Additionally, upon looking at a few implementations of webapps it seems that GAE is probably a lot simpler and not as daunting as the documentation made it out to be: https://github.com/ccarpenterg/todolist/wiki

So my questions are these:

Upvotes: 2

Views: 864

Answers (3)

andrew cooke
andrew cooke

Reputation: 46872

i am near completing my first significant appengine project - during development i switched from django non-rel to using gae models, but kept the django templates (and template tags).

for me, the deal-breaker was that non-rel currently does not support transactions. while you should keep the use of transactions to a minimum for efficiency, they are sometimes useful (particularly when decrementing the account balance of my users!).

when i switched i realised that i really had not understood the data store well at all. it was only after using it directly that i saw what non-rel had been hiding. this doesn't mean that once non-rel supports transactions (they are being worked on now, i believe) i wouldn't switch back, but i am glad that i did use the google classes directly for a while.

so i would suggest that you at least try a few small experiments with the "raw" store, including trees of objects and transactions. then once you're more sure that you've understood the data store well, consider using non-rel if it's suitable (because the portability is an undeniable advantage).

note that i kept django's templates and template tags, along with the url dispatch process and general config. i did look at the gae framework, but it didn't seem as powerful as what django gives (for example, django's named url patterns are pretty awesome).

tl;dr: i was glad i left non-rel, but stayed with django. that worked for me, but i would consider returning to non-rel in the future.

Upvotes: 2

Drew Sears
Drew Sears

Reputation: 12838

There are a few good reasons to use Django over webapp:

  • Portability - Using a general purpose framework makes it easier to move an existing app between App Engine and a traditional hosting provider.
  • Features - Django is a more robust framework with more bells and whistles.

The drawback, though, is that you're a second class citizen. Most Django users are working with a SQL backend, and most App Engine users use webapp. Places where the framework and the platform don't align are going to be less important to the developers of both.

Unless you have a compelling reason to use Django, I would stick with webapp.

Upvotes: 7

Adam Crossland
Adam Crossland

Reputation: 14213

I think that it is incorrect to say that GAE webapps have 'a negligible learning curve.' While I have found it to be an excellent platform for web applications, it does have a number of aspects that are quite different from more traditional CGI + SQL platforms.

You'd probably be able to hack together an application that would work on AppEngine just like you could with any other provider, but learning the intricacies, the important details and differences and details that make AppEngine special, is not trivial.

Upvotes: 0

Related Questions