Size: 2058
Comment:
|
Size: 4054
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 4: | Line 4: |
''' Pythonic Web 应用平台对比集 ''' |
'''Pythonic Web 应用平台对比''' |
Line 10: | Line 9: |
==== TurboGears vs Django ==== ===== gasolin 曰 ===== |
== 综合对比 == '''[wiki:PyCNmail/2006-June/025580.html Re: 关于 Python 的 web 开发框架,应该选择哪个?]''' * limodou {{{ web framework大多数从功能上都大同小异。从功能上分:zope/plone算大型的,而django, turbogears算是轻量级的。从学习曲线上分,zope/plone要长一些,而django, turbogears相对要短一些。对于django, turbogears来说,开发的理念有所不同,但功能是类似的。django所有东西都是自已开发的,象模板系统,url映射机制,ORM等。而turbogears则是许多相对成熟项目的集合,这一点与pylons也很象,如模板系统主要是kid,通过模板适配可以使用其它的模板(强调一下,django是松耦合的,许多组件也可以替换),web server组件使用cherrypy,ORM使用SQLObject(还可以使用SQLAlchemy)等等。关于这两种集成的方式,不同的人有不同的看法。有人认为turbogears是好的,因为没有重新造轮子。但有些人象我认为集中式更易管理和控制。所以关键看你认同哪一种设计理念。 对于ajax也有许多不同的声音。ajax本身可以与后台无关,它主要是在前端通过javascript, DOM来操纵前端数据,与后台交互。从这一点上,任何web framework都可以算是支持ajax。如果说不支持,那是从后台能否自动生成相应的html, javascript代码这一层来说的。turbogears嵌入了mochekit的js库的支持,可以通过python程序生成相应的js代码。django则是有人做过这样的工作,但要么不是成熟的东西,要么还没有成型。为什么会这样也与django的设计理念有关系。象turbogears,它的支持是针对不同的js库生成不同的包装,这样如果js库非常多,自然会有许多的包装,目前已经是这样的。而django在讨论是则不希望是这样,希望有一个中间层或无关层,但的确这一点很难。因此后来可能限定在了dojo,不过还没有相关的代码可以看到。只不过admin功能使用了dojo的一些东西。 还有pylons也很有特色。但对于我上人来说,我认为它太复杂了,不容易理解,所以也没有人研究过。目前国内对于django, turbogears, pylons都有人研究,从人数上看是比例依次递减。对于zope/plone则有专门的czug.org,有许多人在学习和研究。 总之,不同的框架从基本功能上是大同小异,在功能是各有特色的,设计理念上也是各有差异。选择一个框架不仅看它的功能是否满足,可能还有许多的因素,如人气,成熟度,是否有现实的应用,性能,设计理念等等。应用从方面进行考查,而且用着顺心可能更重要。象karrigell作为初学入门,或更轻量级的选择也是不错。 -- I like python! }}} * [wiki:PyCNmail/2006-June/025610.html ZoomQuiet]{{{ 从学习成本来看就三种层次: 1:Zope 系列的高成本复杂性平台,维护需要深入学习成本,带来整体的稳定; 2:Django 等的中等复杂度平台,通过各种组合,使用一定的框架概念,中度学习后,可以获得丰富的功能,和一定数量级别上的稳定; 3:web.py 类的极低学习成本,可以直接进入开发和同步运营,一切功能都可以自行快速开发出来,但是系统整体稳定性依赖开发人员的成熟度 平台的选择主要看你的应用原则,和运维手段,是想依赖平台的设计,还是开发人员的人品? 总之学习成本和对系统整体细节的掌控程度是呈反比的。 }}} === TurboGears vs Django === 对比集中在'''高压力环境稳定性'''和'''sqlobject的发展结合'''上 ==== gasolin 曰 ==== |
Line 13: | Line 46: |
===== limodou 曰 ===== {{{回复: [email protected] 收件人: python-chinese列表 <[email protected]> 日期: 2005-11-14 上午10:24 主题: [python-chinese] Django vs. TurboGears }}} [wiki:PyCNmail/2005-November/019026.html Django vs. TurboGears] [[]] 看到列表中讨论 Django 和 TurboGears 的多了起来,我想就这两个web framework提出自已的一些看法,因为哪个都算不上精通,只是对某些方面多一些罢了,至今天除了按照django的教程做了一下,某它的就没做过。TurboGears方面也只是学过CherryPy而已,不过我从我个人的关注角度出来,希望对它们进行比较一下,大家可以补充,让比较更客观。另外因为我对django关注稍多一些,可能对于turbogears有些不正确的观点,请大家见谅。 |
|
Line 22: | Line 47: |
* '''django 比 TurboGears 的优点''' | ==== limodou 曰 ==== [[Include(TGvsDjLimodou)]] |
Line 24: | Line 50: |
1. 自动的admin界面,有用户和组的管理,这些代码不用你写了 2. generic view,减少你写view的代码,模板当然还是要的 3. 模块及模板均支持i18n。 4. url采用正则表达示很有创意,这样可以规则你的url。另外通过正则表达式可以构造与方法调用无直接关系的链接形式,搜索引擎支持好。 5. django的模板还可以自已扩展,很有趣,可以增加新的tag和filter,而且写起来挺简单。 6. 有middleware,可以自已编写 7. 应用安装方便 8. 开发团队集中,目标一致 TurboGears 比 django 的优点 1. OMR模块采用sqlobject,比django中的要成熟 2. 支持ajax 3. 充分利用了setuptools工具 4. 宣传力度大,人数多,相对django活跃 共同的优点: 1. 文档做得都不错 2. 都象ror一样提供相应的命令行工具 看一看大家有什么补充。 |
[[Include(PyWebFrameDiscuss)]] |
Pythonic Web 应用平台对比
1. 综合对比
[wiki:PyCNmail/2006-June/025580.html Re: 关于 Python 的 web 开发框架,应该选择哪个?]
limodou
web framework大多数从功能上都大同小异。从功能上分:zope/plone算大型的,而django, turbogears算是轻量级的。从学习曲线上分,zope/plone要长一些,而django, turbogears相对要短一些。对于django, turbogears来说,开发的理念有所不同,但功能是类似的。django所有东西都是自已开发的,象模板系统,url映射机制,ORM等。而turbogears则是许多相对成熟项目的集合,这一点与pylons也很象,如模板系统主要是kid,通过模板适配可以使用其它的模板(强调一下,django是松耦合的,许多组件也可以替换),web server组件使用cherrypy,ORM使用SQLObject(还可以使用SQLAlchemy)等等。关于这两种集成的方式,不同的人有不同的看法。有人认为turbogears是好的,因为没有重新造轮子。但有些人象我认为集中式更易管理和控制。所以关键看你认同哪一种设计理念。 对于ajax也有许多不同的声音。ajax本身可以与后台无关,它主要是在前端通过javascript, DOM来操纵前端数据,与后台交互。从这一点上,任何web framework都可以算是支持ajax。如果说不支持,那是从后台能否自动生成相应的html, javascript代码这一层来说的。turbogears嵌入了mochekit的js库的支持,可以通过python程序生成相应的js代码。django则是有人做过这样的工作,但要么不是成熟的东西,要么还没有成型。为什么会这样也与django的设计理念有关系。象turbogears,它的支持是针对不同的js库生成不同的包装,这样如果js库非常多,自然会有许多的包装,目前已经是这样的。而django在讨论是则不希望是这样,希望有一个中间层或无关层,但的确这一点很难。因此后来可能限定在了dojo,不过还没有相关的代码可以看到。只不过admin功能使用了dojo的一些东西。 还有pylons也很有特色。但对于我上人来说,我认为它太复杂了,不容易理解,所以也没有人研究过。目前国内对于django, turbogears, pylons都有人研究,从人数上看是比例依次递减。对于zope/plone则有专门的czug.org,有许多人在学习和研究。 总之,不同的框架从基本功能上是大同小异,在功能是各有特色的,设计理念上也是各有差异。选择一个框架不仅看它的功能是否满足,可能还有许多的因素,如人气,成熟度,是否有现实的应用,性能,设计理念等等。应用从方面进行考查,而且用着顺心可能更重要。象karrigell作为初学入门,或更轻量级的选择也是不错。 -- I like python!
[wiki:PyCNmail/2006-June/025610.html ZoomQuiet]
从学习成本来看就三种层次: 1:Zope 系列的高成本复杂性平台,维护需要深入学习成本,带来整体的稳定; 2:Django 等的中等复杂度平台,通过各种组合,使用一定的框架概念,中度学习后,可以获得丰富的功能,和一定数量级别上的稳定; 3:web.py 类的极低学习成本,可以直接进入开发和同步运营,一切功能都可以自行快速开发出来,但是系统整体稳定性依赖开发人员的成熟度 平台的选择主要看你的应用原则,和运维手段,是想依赖平台的设计,还是开发人员的人品? 总之学习成本和对系统整体细节的掌控程度是呈反比的。
1.1. TurboGears vs Django
对比集中在高压力环境稳定性和sqlobject的发展结合上
1.1.1. gasolin 曰