Вопрос

Каковы потрясающие (каламбур) особенности grok, которые делают его лучше, чем django?как мне узнать, когда моему проекту нужен grok + zope, или его можно просто разработать с помощью django ?

Это было полезно?

Решение

Zope был первым фреймворком evah для публикации объектов, и сообщество Zope имеет многолетний опыт в том, чтобы делать все правильно.Zope 2 был первой попыткой, Zope 3 был следующей попыткой, и сейчас мы переходим к третьему поколению веб-фреймворков, которое включает Grok, BFG и Bobo.

Grok является массивным и имеет еще больше доступных модулей, которые не поставляются при установке базы (и это также в процессе сокращения количества необходимых модулей, поэтому занимаемая площадь становится меньше).BFG и Bobo идут другим путем и представляют собой минималистичные фреймворки, но с легким доступом к Zope Toolkit и всем функциональным возможностям Zope.

И хотя Django допускает многие из тех же ошибок, что и Zope2, они также исправляют их намного быстрее, поэтому я полностью ожидаю, что большая часть этого обсуждения будет спорной через пять лет, потому что я ожидаю, что к тому времени каждый веб-фреймворк Python будет использовать WSGI + WebOb + Repoze + Deliverance + Buildout в качестве основы.Но даже тогда я бы выбрал фреймворки, где я мог бы использовать компонентную архитектуру Zope и ZODB, но сюда входят не только те, что созданы сообществом Zope, но и, например, Turbogears.И, может быть, к тому времени в него войдет и Django, кто знает...:-)

В зависимости от требований проекта я бы сегодня выбрал либо Plone (если им нужна CMS), либо Grok, либо BFG (в зависимости от привлеченных разработчиков, сложности задачи и бюджета).Это, конечно, частично зависит от моего большого опыта работы с технологиями Zope и небольшого опыта работы с Django, но в основном потому, что я могу использовать ZTK и ZODB в Grok и BFG.

YMMV и т.д., бла-бла-бла.

Другие советы

Grok - это, по сути, вся мощь zope в более простом в использовании пакете.Таким образом, вы получаете всю роскошь реальной объектной базы данных python (хотя вы можете использовать серверную часть sql).И я предполагаю, что вы знаете об адаптерах / утилитах / представлениях так называемой "архитектуры компонентов zope".Они позволяют вам создать надежное приложение.Особенно удобно, если вам позже понадобится выборочно настроить его.А безопасность традиционно является сильной стороной zope (и, следовательно, grok).Разработка и развертывание полностью выполняются с помощью eggs (и buildout).:по моему опыту, это надежный, воспроизводимый и удобный способ.

Если у вас есть приложение, которое может работать с простыми таблицами sql без необходимости последующей выборочной настройки:в django нет ничего плохого.Вам придется в значительной степени обеспечивать безопасность самостоятельно, так что за этим нужен острый глаз.За этим стоит гораздо меньше фреймворка (ORM и средство сопоставления URL), поэтому ваш python будет казаться более "чистым и простым".Это также означает, что вам нужно больше делать самим.

Ничто не мешает вам выборочно использовать части grok: http://pypi.python.org/pypi/grokcore.component например, это в значительной степени ядро.Довольно хорошо изолирован, так что вы можете использовать его, не покупая весь стек zope целиком.Я почти уверен, что вы можете использовать это в django.компонент grokcore / zope - это просто код на python.Это дает вам адаптеры / интерфейсы / утилиты.Я не знаю, что вы строите, так что вам придется поэкспериментировать.

Одна вещь, которая говорит в пользу grok, которую я бы посоветовал попробовать:база данных объектов ZODB от zope.Хороший ORM (а с django все в порядке) очень помогает избавиться от проблем с базами данных SQL, но реальная объектная база данных - это просто роскошь :-)

Я не думаю, что какой-либо из фреймворков предназначен для того, чтобы иметь какие-либо "функции", которые делают один "лучше" другого или "необходимы" при определенных обстоятельствах.Скорее, разница между Django и Grok - или Pylons, или Turbogears - на самом деле заключается в подходе.Вы можете найти подход Grok по своему вкусу, или вы можете предпочесть один из других.Я сомневаюсь, что в одном из них вы можете достичь многого такого, чего не смогли бы ни в одном из других.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top