webapp和web.py之间的区别

2024-05-13 21:56:02 发布

您现在位置:Python中文网/ 问答频道 /正文

Webpy.org-Who uses web.py?

"[web.py inspired the] web framework we use at FriendFeed [and] the webapp framework that ships with App Engine..."
— Brett Taylor, co-founder of FriendFeed and original tech lead on Google App Engine

Google App Engine Getting Started for Python

HTML embedded in code is messy and difficult to maintain. It's better to use a templating system... ...For your convenience, the webapp module includes Django's templating engine

问题:
webapp和webpy有什么区别?
当Appengine已经提供webapp时,打包webpy值得吗?

我所知道的:
一。py有自己的模板语言(看起来比Django的更简单)
2。目前,我考虑使用web.py的唯一原因是避免在appengine上使用(和学习)Django模板。
三。这个问题开头的引号
四。我有beenthroughrelatedquestions和通过the webapp documentation在谷歌上。
5个。我注意到stackprinter使用web.py并托管在appengine上。


Tags: andthetodjangopywebappuse
3条回答

它们非常相似,只是碰巧webapp更适合GAE而不是web.py。webapp非常小,绝对是为App Engine编写而优化的,所以如果这是你的最佳选择,你应该使用它。你说过你不想使用Django的模板系统(我不知道为什么,这很简单),这是webapp默认提供的。模板系统可以更改,但我建议您尝试一下Django引擎。

也就是说,如果你不喜欢它,用一个新的框架建立起来并不难(基本上任何符合WSGI的东西都应该工作)。如果您想使用web.py,无论如何,都要设置它,但是您可能需要对如何设置它以及如何配置一切工作进行一些搜索。

web.py体验
三年前,当我决定学习一些Python web frameworks时,我开始使用web.py 我喜欢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数据存储。

在Python Web框架方面,Web.py是我的初恋,可以说我有点偏袒于谈论它。
我坚持用web.py作为我在GAE上的宠物项目,因为我对它很熟悉,templetor是lightning fast
我喜欢这样一个事实,即我可以使用Python进行模板化,并且可以方便地向视图全局共享一些数据或函数,我还喜欢使用丰富的utilities工具集进行编码、标记等。

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

我的建议:
如果您的重点是为Google App Engine开发,我建议您使用一些专门为GAE设计的框架,比如Tipfy
如果您正在寻找一个pythonic web框架来在您的辅助项目中使用,那么web.py对于studyfollow来说是一个很好的项目。

webapp和web.py之间的区别

主要区别(IMHO)在于:

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

GAE的其他Python框架

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

  1. Flask“一个基于Werkzeug、Jinja 2和good intentions的Python微框架。”
  2. tipfy-“一个专为Google应用程序引擎设计的小型但功能强大的框架。它很像webapp,但提供了webapp错过的一系列功能和优点:i18n、会话、自己的身份验证、flash消息等等。一切以模块化、轻量级的方式进行,针对应用程序引擎进行了调整。”

当Appengine已经提供webapp时,打包webpy值得吗?

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

亚历克斯·马泰利在回答SO问题时赞同tipfy。我从亚历克斯的回答中得到的主要收获是tipfy是:

  1. 设计用于与GAE合作
  2. 轻便的
  3. 包含您经常需要的内置功能

相关问题 更多 >