views:

636

answers:

5

which one are you using on google app engine?

what were the reasons behind your decision?

A: 

I'm still investigating, but I think webapp and tipfy will be a lighter framework than django. Right now, I am using just webapp and the cold start times are already too long. I want to use tipfy for sessions and keep everything else in webapp.

What are you trying to optimize for? Speed of development? Easy of programming? Obscure middleware?

mcotton
speed and ease of development.
Ron
Webapp is great because google's sample code are in webapp, which makes it very easy to copy from when trying out something new. For me this is the easiest way.
mcotton
+2  A: 

Although I mainly work with Django for larger work related projects (hosted elsewhere) I've tended to use webapp for things on App Engine. App Engine to me is best suited for small webservices that you then link together into a full app, and webapp suits that usecase pretty well. Small hacks as well I always use webapp just for simplicity and speed of development. Examples imified-demo.appspot.com, gitbug.appspot.com and github.com/garethr/appengine-image-host

Downside is tool support, you probably have to hack together little things to make your life easier that already exist in the Django world (eg. a test runner http://github.com/garethr/appengine-testrunner)

Anecdotal evidence from a previous project made me feel like Django was a little slow on App Engine for my liking.

Tipfy sounds a good idea, hopefully a case of App Engine maturing as a platform, although I have no personal experience with it at this stage.

All things considered it depends. A big project with multiple developers should probably opt for Django. It's standard ways of doing things will make life easier for everyone. For one off projects I personally prefer webapp or similar. But set aside some time for building your own tools as well as writing your application.

Garethr
would you say for a large app the out of the box functionalities of Django would save you time in the long run?
Ron
Depends on the app I think. If it's in Django's sweet spot (lots of crud interface work) then probably. I would tend to try and split larger projects into multiple smaller services. You might find a mix of very small webapp or tipfy services and a Django project in the middle might be a nice mix.
Garethr
A: 

I would still prefer Django for its structure and a high support available over internet for it and for the following reasons:

  • Webapp offcourse is light weight, but Django comes with a nice structure which saves a lots of time while working on a large application.
  • Google app engine does provide a good document for working with Webapp but Django has a large community of programmers and thus proves to be a better choice for implementing some complex applications.
  • Django provides a default admin panel, which otherwise would need to be created in Webapp, though Google app provides an admin interface but that is not equivalent of a full fledged customizable admin panel.
  • Webapp itself follows Django for its templates.
anand
+2  A: 

Imho..

Django - the only part that's relevant is the templating and maybe the no rel..

Webapp - never tried it after

Tipfy - is what I'm using, seems to be more "pylons" like, has a basic apps/modules structure and lots of "helpers" which quite frankly should be in the google.appengine.api Easy to implement templates and routing is nice. Your pretty much left on your own on how to use tipfy and how to structure the application.

PedroMorgan
+3  A: 

Tipfy

  • It's developed as an extension to webapp, so it's just one abstracted layer.
  • That abstracted layer is very minimal. Methods have the same or similar names to their webapp counterparts, but with useful extras that you'd probably end up coding yourself.
  • Simple routing; if you're familiar with Django or web2py, tipfy's routing is a huge step forward.

Finally, tipfy has an excellent support community. Rodrigo Moraes is especially helpful and engaging. Questions are answered very quickly, and courteously.

Wraith