【问题标题】:Differences between webapp and web.pywebapp 和 web.py 的区别
【发布时间】:2011-06-13 04:09:49
【问题描述】:

Webpy.org - Who uses web.py?

"[web.py 启发了] web 框架 我们在 FriendFeed [和] webapp 上使用 App 附带的框架 引擎..."
— 布雷特·泰勒, FriendFeed 和 original 的联合创始人 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 上进行模板化。
3. 本题开头的引语
4. 我在 Google 上有 been through related questions 和 the webapp documentation。
5. 我注意到stackprinter 使用 web.py 并托管在 appengine 上。

【问题讨论】:

  • 关于 Django 模板,它们非常简单。你不必学习所有的 Django 来使用它们,它们实际上比大多数模板语言更简单(而且表达力也更低)。
  • @Nick 我的反应可能还为时过早。

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


【解决方案1】:

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

也就是说,如果您不喜欢它,那么设置一个新框架并不难(基本上任何符合 WSGI 的框架都应该可以工作)。如果您想使用 web.py,请务必进行设置,但您可能需要进行一些搜索以了解如何设置并配置一切正常工作。

【讨论】:

    【解决方案2】:

    webapp 和 web.py 的区别

    主要区别(恕我直言)是:

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

    用于 GAE 的其他 Python 框架

    其他用于 GAE 的 Python 框架(均不使用 Django 模板语言)包括:

    1. Flask — “基于 Werkzeug、Jinja 2 和良好意图的 Python 微框架。”
    2. tipfy — “一个小而强大的框架,专为 Google App Engine 打造。它很像 webapp,但提供了 webapp 缺少的一系列功能和好东西:i18n、会话、自己的身份验证、flash 消息等等。一切都在一种模块化、轻量级的方式,针对 App Engine 进行了调整。”

    Appengine 已经提供 webapp 的情况下,捆绑 webpy 是否值得?

    个人认为,除了webapp之外,还是值得用的。不过,我会倾向于Flask 或tipfy。

    Alex Martelli 在他对 SO 问题 Google App Engine - Secure Cookies 的回答中赞同 tipfy。从亚历克斯的回答中,我的主要收获是tipfy 是:

    1. 旨在与 GAE 配合使用
    2. 轻量级
    3. 包含您经常需要的内置功能

    【讨论】:

      【解决方案3】:

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

      所以我开发了几个项目(使用 fastcgi 部署)并学习了所有 web.py library features, Templetor 包括在内。

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

      Web.py 是我对 Python Web 框架的初恋,公平地说,我在谈论它时有点偏颇。
      我在 GAE 上的宠物项目中坚持使用 web.py,因为我精通它,并且 Templetor 是 lightning fast。
      我喜欢我可以使用 Python 进行模板化以及将一些数据或函数全局共享到视图的简单方法,我也喜欢 utilities 用于编码、降价等丰富的工具集。

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

      我的建议:
      如果您的重点主要是为 Google App Engine 开发,我建议您使用一些专门为 GAE 制作的框架,例如 Tipfy。
      如果你正在寻找一个 Python 的 web 框架来玩你的业余项目,web.py 对于study 和follow 来说是一个很好的项目。

      【讨论】:

      • 详细解答。希望我能投票更多!将基于 Tipfy 的应用程序从 appengine 移动到非 appengine 环境是否会有困难,尤其是 db 查询?感谢您提供链接和信息!
      • @abel 谢谢,我想会的,因为它是专门为 GAE 设计的框架。如果您正在寻找更灵活的东西,特别是对于 db 查询,请查看 web2py。
      猜你喜欢
      • 2013-08-27
      • 1970-01-01
      • 2016-01-22
      • 1970-01-01
      • 2014-09-25
      • 2012-11-19
      • 1970-01-01
      • 2013-08-07
      • 2011-10-20
      相关资源
      最近更新 更多