python - Flask vs webapp2 for Google App Engine -


i'm starting new google app engine application , considering 2 frameworks: flask , webapp2. i'm rather satisfied built-in webapp framework i've used previous app engine application, think webapp2 better , won't have problems it.

however, there lot of reviews of flask, approach , things i've read far in documentation , want try out. i'm bit concerned limitations can face down road flask.

so, question - do know problems, performance issues, limitations (e.g. routing system, built-in authorization mechanism, etc.) flask bring google app engine application? "problem" mean can't work around in several lines of code (or reasonable amount of code , efforts) or impossible.

and follow-up question: there killer-features in flask think can blow mind , make me use despite problems can face?

disclaimer: i'm author of tipfy , webapp2.

a big advantage of sticking webapp (or natural evolution, webapp2) don't have create own versions existing sdk handlers framework of choice.

for example, deferred uses webapp handler. use in pure flask view, using werkzeug.request , werkzeug.response, you'll need implement deferred (like did here tipfy).

the same happens other handlers: blobstore (werkzeug still doesn't support range requests, you'll need use webob if create own handler -- see tipfy.appengine.blobstore), mail, xmpp , on, or others included in sdk in future.

and same happens libraries created app engine in mind, protorpc, based on webapp , need port or adapter work other frameworks, if don't want mix webapp , your-framework-of-choice handlers in same app.

so, if choose different framework, you'll end a) using webapp in special cases or b) having create , maintain versions specific sdk handlers or features, if you'll use them.

i prefer werkzeug on webob, after on 1 year porting , maintaining versions of sdk handlers work natively tipfy, realized lost cause -- support gae long term, best stay close webapp/webob. makes support sdk libraries breeze, maintenance becomes lot easier, more future-proof new libraries , sdk features work out of box , there's benefit of large community working around same app engine tools.

a specific webapp2 defense summarized here. add webapp2 can used outside of app engine , easy customized popular micro-frameworks , have set of compelling reasons go it. also, webapp2 has big chance included in future sdk release (this extra-official, don't quote me :-) push forward , bring new developers , contributions.

that said, i'm big fan of werkzeug , pocoo guys , borrowed lot flask , others (web.py, tornado), -- and, know, i'm biased -- above webapp2 benefits should taken account.


Comments

Popular posts from this blog

linux - Using a Cron Job to check if my mod_wsgi / apache server is running and restart -

actionscript 3 - TweenLite does not work with object -

jQuery Ajax Render Fragments OR Whole Page -