webapp和web.py之间的差异

时间:2011-01-21 13:54:36

标签: python google-app-engine web-applications web.py

Webpy.org - Who uses web.py?

  

“[web.py启发] Web框架   我们在FriendFeed [和] webapp使用   App附带的框架   发动机...“
       - 布雷特泰勒,   FriendFeed的联合创始人和原创   Google App Engine上的技术主管

Google App Engine Getting Started for Python

  

嵌入代码中的HTML很乱   难以维持。它更好   使用模板系统......对于你的   方便,webapp模块   包括Django的模板引擎

问题:
webapp和webpy之间有什么区别?
当Appengine已经提供webapp时捆绑webpy是否值得?

我所知道的:
1. Web.py有自己的模板语言(看起来比Django更容易)
2.目前,我考虑使用web.py的唯一原因是避免使用(和学习)Django来模拟appengine。
这个问题的头部引用了 4.我在Google上有been through related questionsthe webapp documentation
5.我注意到stackprinter使用了web.py并在appengine上托管。

3 个答案:

答案 0 :(得分:18)

web.py体验
三年前,当我决定学习一些web.py时,我开始使用Python web frameworks 我喜欢web.py的第一件事就是它的简洁;我正在寻找一个基本的微框架,没有你可以在其他更大的项目中找到的所有电池,例如DjangoWeb2py

因此,我开发了几个项目(使用fastcgi进行部署),并了解了所有包含的web.py library featuresTempletor

然后我发现了Google App Engine并开始使用Webapp;这是一个无聊的过程,因为它不是使用python(如Templetor或Mako),而是强迫您学习一种新的模板语法,默认情况下它非常严格。
在开发StackPrinter时,我发现Google App Engine was supported by web.py因此我删除了Sqlite,进行了一些小调整并开始使用GAE数据存储区。

Web.py是我对Python Web框架的初恋,可以说我有点偏向于谈论它。
我坚持使用web.py为GAE上的宠物项目,因为我能够流利地使用它并且是lightning fast。 我喜欢这样一个事实:我可以使用Python进行模板化,并且可以轻松地将全部数据或函数共享给视图,我也喜欢utilities的丰富工具集,用于编码,降价等。

Webapp与web.py
我认为比较它们是不公平的,因为Webapp是一个简单的框架,只提供了最简单的入门工具;许多功能都缺失,如I18n,验证,processors甚至是基本的cookie处理 检查Webapp-improved以获得更好的效果。

我的推荐
如果您的重点主要是开发Google App Engine,我建议您使用专为GAE设计的框架Tipfy。 如果您正在寻找一个pythonic Web框架来进行侧面项目,web.py是studyfollow的一个很好的项目。

答案 1 :(得分:3)

webapp和web.py

之间的差异

主要差异(恕我直言)是:

  1. webapp框架专为Google App Engine(GAE)设计。 web.py框架并非专为GAE设计。
    • “webapp Framework是用于构建Web应用程序[在Google App Engine中]的默认工具集,但不是唯一的工具集。” (资料来源:Eugene Ciurana Developing with Google App Engine
  2. 他们使用不同的模板语言--web.py使用自己的,而webapp的模板语言基于Django。
  3. GAE的其他Python框架

    GAE的其他Python框架 - 两者都不使用Django模板语言 - 包括:

    1. Flask - “基于Werkzeug,Jinja 2和良好意图的Python微框架。”
    2. tipfy - “专为Google App Engine制作的小而强大的框架。它非常类似于webapp,但提供了一些webapp遗漏的功能和好东西:i18n,会话,自己的身份验证,flash消息一切都采用模块化,轻量级的方式,针对App Engine进行了调整。“
    3. 当Appengine已经提供webapp时捆绑webpy是否值得麻烦?

      就个人而言,我认为使用除webapp之外的其他内容是值得的。但是,我倾向于Flasktipfy

      Alex Martelli在回答SO问题tipfy时赞同Google App Engine - Secure Cookies。亚历克斯回答的主要内容是tipfy是:

      1. 旨在与GAE合作
      2. 轻型
      3. 包含您经常需要的内置功能

答案 2 :(得分:2)

它们非常相似,只是因为webapp比web.py更适合GAE。 webapp非常小,绝对是针对App Engine编写的优化,所以如果这是你的一杯茶,你应该使用它。你确实说过你不想使用Django的模板系统(我不知道为什么,这很简单),这就是webapp默认带来的。模板系统可以更改,但我建议你试试Django引擎。

也就是说,如果你不喜欢它,建立一个新的框架并不是很难(基本上任何符合WSGI的都应该工作)。如果您想使用web.py,请务必进行设置,但您可能需要进行一些搜索,了解如何设置它并将所有内容配置为可用。