Преимущества использования решений на основе Zope3
Zope 3 - является сервером приложений на основе лицензии с открытым исходным кодом. Zope 3 долгое время был экспериментальным проектом разрабатываемым программистами Zope Corp. совместно с программистами со всего света во время так называемых спринтов. Совместная работа привела к коренным изменениям в самой идеи продукта и процесса разработки новых решений на основе платформы. В данный момент по словам Роба Пейджа (Rob Page, президент Zope Corp.) Zope 3 достиг такого уровня зрелости, что если стоит необходимость разрабатывать новые решения, то надо начинать их делать уже на новой платформе.
Сравнение с Zope 2
Основные изменения по сравнению с Zope 2:
- Zope 3 обязывает писать надежные и связанные решения, теперь процесс разработки начинается с проектирования программных интерфейсов.
- Объем исходных кодов значительно уменьшается, зато обязательным компонентом становятся тесты. Многие разработчики переводящие свои существующие решения на Zope 3 говорят о том, что они значительно уменьшают объемы своих программ и пишут большое количество тестов. Использование тестов приводит к возможности создания огромных программных решений без боязни потерять контроль за поведением различных компонентов о существовании которых программисты могут даже не знать.
- В Zope 3 не приходится постоянно переопределять поведение существующих классов (наследование и переопределение), что фактически приводило к невозможности перехода на новую версию сервера приложений при разработке комплексных решений.
- Zope 3 предоставляет уникальную среду для написания и интеграции различных компонентов через специальный механизм интерфейсов. Поскольку трудно описать эту возможность системы словами, то проиллюстрирую ее на примере. Допустим у нас есть некий список сотрудников, есть базовый класс Worker, интерфейс для которого IWorker, каждый из сотрудников является экземпляром этого класса. Разработкой и поддержкой этого класса занимается определенный программист и он сам следит за работой этого класса. В определенный момент в компании появляется необходимость в отслеживании списка задач (класс Task, интерфейс ITask) в какой-то другой подсистеме. После того как подсистема работ с задачами написана и к ней написаны тесты можно для работников добавить возможность вести и отслеживать списки своих задач путем правки конфигурационного файла (ZCML) и добавления поддержки интерейсов IWorker и ITask в конкретном сайте. Таким образом получается очень гибкая система позволяющая объединять независимые компоненты и самое главное позволять их писать разным людям или даже компаниям.
Сравнение Zope 3 и Plone
Plone система публикаций созданная на основе сервера приложений Zope 2 и программного каркаса CMF (Content Management Framework). В данный момент Plone получила большую популярность как готовое "коробочное" решение для быстрого развертывания сайтов, но с помощью Plone сложно создавать и поддерживать крупные сайты. Кроме того Plone содержит в себе все недостатки Zope 2:
- Неполная поддержка национальных языков.
- Хранение логики в ZODB.
- Сложность разработки и плохая документация.
Кашкин Михаил (Ключевые Решения)
Last modified 2005-06-05 06:50
Zope|!Zope
Я начал было изучать Zope 2 как мне повстречался Webware, которой из-за меньшего веса и возможности установке у провайдера, который не может предоставить Zope сервер, но позволяет исполнять Python скрипты, подошол мне больше. С Zope его конечно сравнивать нельзя, но ZPT шаблоны в нем (Webware) поддерживаются.
- s. Думаю попробовать Zope 3.
Отсутствие документации
Сталкнулся, я первый раз с Plone... Задача проста создать простой, но полноценный сайт. Скачал дистрибутив, но той документации которая представлена на сайте, не хватило...что есть выход из положения?
Replies to this comment
Пожалуйста, будьте конструктивней, нас ведь читают и делают неправильные выводы.
Уважаемый Михаил! Ярых поклонников простых разработок типа Drupal, PhpNuke и др. очень тронула тема выявления недостатков Plone из это статьи. Перечисленные три недостатка имеют место только в Zope2, но никак не в Plone, подробнее: a. Неполная поддержка национальных языков. – Опровергаю: сейчас в Plone поддерживается минимум 50 национальных языков, такого нет ни в одной CMS. То что в Zope3 все текстовые типы данных хранят текст в UNICODE это конечно плюс, но и в Plone есть типы данных ориентированные на многоязыковую поддержку. b. Хранение логики в ZODB. – Опровергаю: в Plone логика и представление хранится в файловой системе, в zodb хранится контент. c. Сложность разработки и плохая документация. – Опровергаю: язык python – самый мощный и одновременно простой язык разработок, признан ведущими программистами. TAL – технология шаблонов которая развилась настолько, что ее встраивают в другие системы. Более того, всем кто интересовался темой документации в этой области известно, что Plone наиболее документированная система на сегодняшний день.
В заключение, я согласен с тем, что Zope3 - это следующий шаг в развитие систем веб-разработок, который базируется на разработках привнесенных из Plone, то есть если очень грубо округлить то получится что Zope3 - это по сути Zope2+Plone.
А стоит ли тогда изучать zope2 или стоит взять за zope3?? я пока изучаю вторую зопу. может стоит третью?