Flask vs webapp2 for Google App Engine

问题:

我正在开始使用新的Google App Engine应用程序,目前正在考虑两个框架:Flaskwebapp2。我对我以前的App Engine应用程序使用的内置webapp框架非常满意,所以我认为webapp2会更好,我不会有任何问题。
不过,对于Flask来说,有很多很好的评论,我真的很喜欢它的方法,以及我在文档中读到的所有东西,我想尝试一下。但是我有点担心Flask可以面对的局限性。
所以,问题是 – do you know any problems, performance issues, limitations (e.g. routing system, built-in authorization mechanism, etc.) that Flask could bring into Google App Engine application?“问题”我的意思是我不能在几行代码(或任何合理数量的代码和努力)中解决问题,或者完全不可能的事情。
作为一个后续的问题:在Flask有没有任何杀手的功能,你认为可以吹我的脑海,让我用它,尽管我可以面对任何问题?

回答:

 免责声明:我是tipfy和webapp2的作者。
粘贴webapp(或其自然进化,webapp2)的一大优点是您不必为现有的SDK处理程序为您选择的框架创建自己的版本。
例如,deferred使用webapp处理程序。要在纯粹的Flask视图中使用它,使用werkzeug.Request和werkzeug.Response,您需要为它执行延迟(就像我做了here for tipfy)一样。
对于其他处理程序也是如此:blobstore(Werkzeug仍然不支持范围请求,因此即使创建自己的处理程序 – 见tipfy.appengine.blobstore),邮件,XMPP等等,还需要使用WebOb将来包含在SDK中。
对于使用App Engine创建的库(如ProtoRPC),基于webapp而需要使用端口或适配器来处理其他框架,如果您不想混合webapp和您的框架 – 在同一个应用程序中的选择处理程序。
所以,即使你选择了一个不同的框架,你会在一些特殊的情况下使用webapp,或者b)如果你使用它们,必须创建和维护你的版本,以便使用特定的SDK处理程序或功能。
我更喜欢Werkzeug在WebOb上,但经过一年以上的移植和维护版本的SDK处理程序,本机与tipfy工作,我意识到这是一个失败的原因 – 长期支持GAE,最好是保持接近Web应用程序/的WebOb。它使得SDK库的支持变得轻而易举,维护变得更加容易,随着新的库和SDK功能的开箱即用,更具有前瞻性,而且有一个大型社区围绕着相同的App Engine工具的好处。
一个特定的webapp2防御被归纳为here。添加到webapp2 can be used outside of App Engine并且是easy to be customized to look like popular micro-frameworks的那些,你有一个很好的理由去做。此外,webapp2有一个很大的机会被纳入未来的SDK版本(这是非官方的,不要引用我:-)这将推动它并带来新的开发人员和贡献。
也就是说,我是Werkzeug和Pocoo家伙的大粉丝,并从Flask和其他人(web.py,Tornado)中借了很多,但是 – 你知道我有偏见 – 以上webapp2的好处应该是要考虑到。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Flask vs webapp2 for Google App Engine

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

45 − = 37