grok vs. django比较

时间:2009-09-30 22:06:53

标签: django zope grok

什么是grok的粉碎(双关语)特征使它比django更好? 我怎么知道我的项目何时需要grok + zope,或者它可以用django开发?

3 个答案:

答案 0 :(得分:7)

Zope是第一个发布框架evah的对象,而Zope社区在“做正确的事情”方面有着长期的经验。 Zope 2是第一次尝试,Zope 3是下一次尝试,我们现在进入第三代Web框架,包括Grok,BFG和Bobo。

Grok非常庞大,并且在安装基础时还有更多可用的模块(并且它正在减少所需模块的数量,因此占用空间变小)。相反,BFG和Bobo是最简单的框架,但可以轻松访问Zope Toolkit和Zope的所有功能。

尽管Django犯了许多Zope2所犯的错误,但他们也更快地修复它们,所以我完全期望这个讨论的大部分内容在五年内没有实际意义,因为我希望每个Python Web框架都能使用WSGI + WebOb + Repoze + Deliverance + Buildout作为基础。但即使这样,我也会选择可以使用Zope组件架构和ZODB的框架,但这不仅包括Zope社区制作的框架,还包括Turbogears。也许它会包括当时的Django,谁知道......: - )

根据项目要求,我今天会选择Plone(如果他们需要CMS),Grok或BFG(取决于所涉及的开发人员,以及任务和预算的复杂性)。这当然部分取决于我对Zope技术的丰富经验以及我对Django的小经验,但主要是因为我可以在Grok和BFG中使用ZTK和ZODB。

YMMV等,blahblah。

答案 1 :(得分:5)

Grok基本上是zope的所有功能,更容易使用包。所以你可以获得真正的python对象数据库的所有奢侈品(尽管你可以使用sql后端)。我假设您了解所谓的“zope组件架构”的适配器/实用程序/视图。这些允许您制作一个强大的应用程序。如果您以后需要有选择地自定义它,特别方便。安全传统上是一个zope(也就是grok)的优点。开发和部署完全由鸡蛋(和buildout)处理:根据我的经验,这是一种强大,可靠,可重复和舒适的方式。

如果你有一个可以使用直接sql表的应用程序而不需要在之后进行过多的选择性定制:django没有任何问题。你必须自己做很多安全,所以需要敏锐的眼光。它背后的框架(ORM和url映射器)要少得多,因此你的python会感觉更“纯粹和简单”。这也意味着你需要自己做更多的事情。

没有什么可以阻止你有选择地使用grok的一部分:http://pypi.python.org/pypi/grokcore.component就是核心。很好地隔离,所以你可以使用它而无需购买整个zope堆栈。我很确定你可以在django中使用它。 grokcore / zope组件只是python代码。这将为您提供适配器/接口/实用程序。我不知道你在建造什么,所以你必须进行实验。

有一点我非常赞成grok,我建议尝试一下:zope的ZODB对象数据库。一个好的ORM(并且django非常好)可以帮助很多人解决SQL数据库带来的痛苦,但真正的对象数据库只是奢侈品: - )

答案 2 :(得分:2)

我认为任何框架都没有任何“特征”可以使某个“优于”另一个,或者在某些情况下“需要”。相反,Django和Grok(或Pylons,或Turbogears)之间的区别实际上是一种方法。您可以根据自己的喜好找到Grok的方法,或者您可能更喜欢其中一种方法。我怀疑你可以在其中一个中实现很多你不能在其他任何一个中实现的目标。