Фреймворк Zope

Данная статья посвящена такому фреймворку, как Zope. Zope – достаточно популярный Web-фреймворк, который написан на языке программирования Python, при этом, в основном он применяется в качестве системы управления содержимым сайта, то есть - контентом.

Краткая история о том, как зарождался Zope

В 1998 году сотруднику компании Digital Creations - Джиму Фултону было предложено прочитать лекцию о стандартных интерфейсах, которые используются для связи внешней программы с веб-сервером (CGI). Согласно легенде, он ничего об этом не знал, и его начальнику, пока они летели в самолете, пришлось рассказать ему основы CGI. С этой лекцией, Джим выступил на конференции. Говорят, что протокол ужаснул его своей чрезмерной простотой, и на основе этого, Фултон решил создать что-нибудь объектно-ориентированное. Было создано три открытых Python пакета: Bobo, Document Template, и Bobopos. Эти пакеты — веб публикатор, движок шаблонов, и объектная база данных стали ядром Principia, то есть коммерческого сервера приложений. А в ноябре 1998 года, инвестор Хадар Педхазур убедил Digital Creations сделать Principia открытым, после чего, эти пакеты развились в компоненты ядра фреймворка Zope 2, а компания получила новое имя — Zope Corporation и начала выпускать свой продукт под собственной Open Source лицензией ZPL. Так началась история Zope.

Почему стоит выбрать этот фреймворк?

Основной особенностью Zope является его объектно-ориентированность:
• Он представляет собой коллекцию компонентов - объектов, с четко заданной функциональностью, которая описывается с помощью интерфейсов;
• Каждый компонент можно заменить на любой другой с таким же интерфейсом (можно провести аналогию с моделью провайдеров в ASP.NET). Таким образом, компоненты выполняют один и тот же функционал, но разными способами. А программист выбирает из них наиболее подходящий;
• Имеет объектную базу данных ZODB, предназначенную для естественного хранения объектов;
• Строгие стандарты для разработки, выпуска и обслуживания программного обеспечения;
• Мощный механизм HTML/XML-шаблонов и широкие возможности для тестирования.

Сравнение Zope с другими фреймворками

Для того, чтобы сделать выводы о популярности этого фреймворка, было принято решение создать сравнительную таблицу, расположенную ниже. Zope был сравнен с такими фреймворками как – Jango и CherryPy по следующим критериям:
• Группа фреймворков: Full stack или Micro-framework.
• Звёзды Github: общее количество звезд проекта, выставленных пользователям.
• Релизы Github: количество релизов каждого проекта, что отражает активность работы над проектом и его зрелость.
• Fork-и Github: количество, сделанных копий каждого проекта, что показывает популярность использования проекта в собственных работах.
• Вопросы Stack-overflow: количество вопросов, заданных по определенной теме.
• Вакансии: количество вакансий, связанных с технологиями или ИТ компетенциями.
Сама сравнительная таблица:

Название фреймворка Группа фреймворка Звёзды на Github Релизы на Github Fork-и на Github Вопросы Stack-overflow Вакансии
Zope Full 196 229 81 3 0
Django Full 46 528 275 20 400 217 030 42
CherryPy Micro 1 130 127 279 1 300 0

Вывод

Исходя из проделанной работы можно сделать вывод о том, что данный фреймворк имеет достаточное небольшое сообщество и многие разработчики, работающие на Python, даже не слышали о нем, поэтому в случае чего, вам будет трудно найти человека, к которому можно будет обратиться за советом. Помимо этого, будет достаточно трудно найти обширную документацию и учебники по Zope, поэтому придется много копаться. Но все же, если вам нужна обширная высоко структурированная среда для создания больших приложений, то фреймворк Zope вам более чем подходит.