Зопе
Оригинальный автор(ы) | Зопе Корпорация |
---|---|
Разработчик(и) | Зопе Корпорация |
Первоначальный выпуск | июль 1999 г. |
Стабильная версия | 5.8.6 [1]
/ 4 октября 2023 г |
Доступно в | Питон |
Тип | веб-фреймворк |
Лицензия | Общественная лицензия Zope |
Веб-сайт | опа |
Zope — это семейство приложений с открытым исходным кодом, веб- бесплатных серверов написанных на Python , и связанное с ними онлайн-сообщество. Zope означает «Среда публикации объектов Z» и была первой системой, использующей ныне распространенную методологию публикации объектов в Интернете. [2] [3] Zope называют приложением-убийцей Python , приложением, которое помогло привлечь внимание к Python. [4] [5]
За последние несколько лет сообщество Zope породило несколько дополнительных веб-фреймворков с разными целями и принципами, но разделяющими философию, людей и исходный код. Zope 2 по-прежнему является наиболее распространенным из этих фреймворков, во многом благодаря Plone системе управления контентом , которая работает на Zope 2. BlueBream (ранее называвшийся Zope 3) менее распространен, но лежит в основе нескольких крупных сайтов, включая Launchpad . Grok начинался как более удобный для программистов фреймворк «Zope 3 для пещерных людей», а в 2009 году Pyramid завоевал популярность в сообществе Zope как минималистичный фреймворк, основанный на принципах Zope.
История
[ редактировать ]Корпорация Zope была основана в 1995 году во Фредериксбурге, штат Вирджиния, под названием Digital Creations, как совместное предприятие с InfiNet (совместное предприятие сети газет). Компания разработала систему тематической рекламы для Интернета. В 1997 году компания стала независимой и частной. Инженеров-программистов компании возглавляет технический директор Джим Фултон. PythonLabs, создатели Python, стали частью компании в 2000 году (основатель Python Гвидо ван Россум покинул Zope Corp в 2003 году). [6]
То, что сейчас известно как Zope 2, началось с объединения трех отдельных программных продуктов — Bobo, Document Template и BoboPOS — в сервер приложений Principia. По просьбе своего крупнейшего инвестора, Opticality Ventures, Principia была переиздана как бесплатное программное обеспечение под названием Zope в 1998 году. Bobo и, следовательно, Zope, были первым решением для публикации веб- объектов . [2] [3]
В ноябре 2004 года был выпущен Zope 3. Zope 3 — это полная переработка , в которой сохраняется только исходная объектная база данных ZODB . Он предназначен непосредственно для разработки корпоративных веб-приложений с использованием новейших парадигм разработки. Однако Zope 3 несовместим с Zope 2, поэтому приложения Zope 2 не запускаются в Zope 3. Первоначально предполагалось ввести уровень обратной совместимости, чтобы программное обеспечение Zope 2 могло работать в Zope 3. Вместо этого был установлен модуль, известный как Zope 3. Five представила новые парадигмы Zope 3 в Zope 2, хотя полная совместимость и в этом случае невозможна.
Существование двух несовместимых веб-фреймворков под названием Zope вызвало много путаницы. В ответ в январе 2010 года Zope 3 был переименован в BlueBream. [7] [8] «Зопе» и «синец» — названия вида рыбы Ballerus ballerus .
Фонд Зопе
[ редактировать ]Основан | март 2006 г |
---|---|
Тип | некоммерческая организация |
Фокус | Программное обеспечение с открытым исходным кодом |
Метод | Общественная лицензия Zope |
Веб-сайт | фундамент |
Zope Foundation — это организация, которая способствует развитию платформы Zope, поддерживая сообщество, которое разрабатывает и поддерживает соответствующие программные компоненты. В сообщество входят как разработчики программного обеспечения с открытым исходным кодом, документации и веб-инфраструктуры, так и предприятия и организации-потребители программной платформы. Он управляет веб-сайтами zope.org — инфраструктурой для совместной работы с открытым исходным кодом.
Версии Zope
[ редактировать ]Скриншот | |
Разработчик(и) | Зопе Корпорация |
---|---|
Первоначальный выпуск | 1998 год |
Стабильная версия | 5.6.0 [9]
/ 9 сентября 2022 г |
Написано в | Питон |
Операционная система | Кросс-платформенный |
Тип | веб -приложений Сервер |
Лицензия | Общественная лицензия Zope |
Веб-сайт | www |
Зопе 2
[ редактировать ]Zope Веб-сайт обычно состоит из объектов в базе данных объектов Zope , а не из файлов в файловой системе , как это обычно бывает с большинством веб-серверов . Это позволяет пользователям использовать преимущества объектных технологий, таких как инкапсуляция . Zope сопоставляет URL-адреса с объектами, используя иерархию содержания таких объектов; Считается, что методы также содержатся в их объектах. Данные могут храниться и в других базах данных или в файловой системе, но ZODB является наиболее распространенным решением.
Zope предоставляет два механизма создания шаблонов HTML : язык разметки шаблонов документов (DTML) и шаблоны страниц Zope (ZPT). DTML — это язык на основе тегов, который позволяет реализовывать простые сценарии в шаблонах. В DTML предусмотрены возможности включения переменных, условий и циклов. Однако DTML может быть проблематичным: теги DTML, перемежающиеся с HTML, образуют недопустимые HTML-документы, и его использование требует осторожности при включении логики в шаблоны, чтобы сохранить читаемость кода. Многие ведущие разработчики Zope не одобряют использование DTML. ZPT — это технология, устраняющая недостатки DTML. Шаблоны ZPT могут быть либо правильно сформированными XML- документами, либо HTML-документами, в которых вся специальная разметка представлена в виде атрибутов в пространстве имен TAL ( язык атрибутов шаблонов ). ZPT предлагает очень ограниченный набор инструментов для условного включения и повторения элементов XML. Следовательно, шаблоны обычно довольно просты, большая часть логики реализована в коде Python. Одним из существенных преимуществ шаблонов ZPT является то, что их можно редактировать в большинстве графических редакторов HTML. ZPT также предлагает прямую поддержку интернационализация .
Zope 2 лежит в основе Plone системы управления контентом , а также ERP5 с открытым исходным кодом системы планирования ресурсов предприятия .
Голубец
[ редактировать ]Разработчик(и) | Зопе Корпорация |
---|---|
Первоначальный выпуск | 2004 г |
Стабильная версия | 1.0
/ 18 января 2011 г [10] |
Написано в | Питон |
Операционная система | Кросс-платформенный |
Тип | веб -приложений Сервер |
Лицензия | Общественная лицензия Zope |
Веб-сайт | Голубик |
BlueBream — это переписанный разработчиками Zope Zope 2 сервер веб -приложений . Он был создан под названием «Zope 3», но существование двух несовместимых фреймворков с одинаковым названием вызвало большую путаницу, и в январе 2010 года Zope 3 был переименован в «BlueBream». [11] [12] BlueBream распространяется на условиях общественной лицензии Zope. [13] и, таким образом, является свободным программным обеспечением .
Zope 2 зарекомендовал себя как полезная среда для разработки веб-приложений, однако ее использование выявило некоторые недостатки. [ нужна ссылка ] Например, создание продуктов Zope 2 предполагает копирование большого количества шаблонного кода – «магического» кода – который просто обязан присутствовать, а встроенный интерфейс управления сложно модифицировать или заменить. Zope 3 представлял собой переписанную версию программного обеспечения, которая пытается устранить эти недостатки, сохраняя при этом преимущества Zope, которые привели к его популярности. BlueBream основан на компонентной архитектуре. [14] это позволяет легко смешивать программные компоненты различного происхождения, написанные на Python . Хотя изначально архитектура компонентов Zope задумывалась как замена Zope 2, вместо этого она была перенесена в Zope 2, начиная с Zope 2.8. Многие платформы Zope, такие как Plone, проходят этап поэтапного переписывания. Первая производственная версия нового программного обеспечения Zope X3 3.0.0 была выпущена 6 ноября 2004 года.
История
[ редактировать ]Проект Zope 3 начался в феврале 2001 года как попытка разработать новую версию Zope как почти полностью переписанную версию с целью сохранить успешные функции Zope 2, одновременно пытаясь исправить некоторые его недостатки. Целью было создать более удобную и гибкую платформу для программирования веб-приложений, чем Zope 2. Проект начался с разработки компонентной архитектуры , которая позволяет структурировать код в небольшие компонуемые блоки с интроспектируемыми интерфейсами. Интерфейсы поддерживаются пакетом интерфейса, чтобы обеспечить функциональность явно объявленных интерфейсов для языка Python . Первая производственная версия программного обеспечения Zope X3 была выпущена 6 ноября 2004 года. В январе 2010 года Zope 3 был переименован в BlueBream. [11]
Технология
[ редактировать ]Цель проекта заключалась в том, чтобы позволить программистам использовать Zope для предоставления произвольных объектов Python в качестве объектов модели в Интернете без необходимости заставлять эти объекты соответствовать определенным требованиям к поведению. В Zope 2 было много требований к поведению, позволяющих объектам участвовать в структуре, что привело к появлению большого количества базовых классов примесей и специальных атрибутов. BlueBream использует архитектуру модель/представление, отделяя код представления от кода проблемной области. Представления и модели связаны между собой компонентной архитектурой.
Библиотеки, лежащие в основе BlueBream, превратились в набор полезных библиотек для разработки веб-приложений, а не в единый монолитный сервер приложений. BlueBream включает отдельные пакеты для интерфейсов, архитектуры компонентов, HTTP-сервера, издателя, базы данных объектов Zope (ZODB), шаблонов страниц Zope, I18N, политики безопасности и т. д. Архитектура компонентов используется для их объединения. Архитектура компонента настраивается с использованием ZCML (язык разметки конфигурации Zope), языка файлов конфигурации на основе XML.
Проект Zope 3 положил начало практике спринтов при разработке программного обеспечения с открытым исходным кодом . [15] Спринты — это интенсивные сессии разработки, когда программисты, часто из разных стран, собираются в одной комнате и работают вместе пару дней или даже несколько недель. Во время спринтов различные практики, взятые из гибкой разработки программного обеспечения используются , такие как парное программирование и разработка через тестирование . Помимо цели разработки программного обеспечения, спринты также полезны для географически разделенных разработчиков, чтобы встретиться лично и привлечь новых людей в проект. Они также служат для участников способом учиться друг у друга.
BlueBream считается стабильной платформой, используемой в производственных проектах по всему миру, особенно в Launchpad .
Набор инструментов Zope
[ редактировать ]Другие имена | ЗТК |
---|---|
Разработчик(и) | Фонд Зопе |
Первоначальный выпуск | 26 июня 2010 г |
Стабильная версия | 1.1.6
/ 1 мая 2013 г |
Предварительный выпуск | 2.0а1
/ 1 мая 2013 г |
Репозиторий | github |
Написано в | Питон |
Операционная система | Кросс-платформенный |
Тип | Веб-фреймворк |
Лицензия | Общественная лицензия Zope |
Веб-сайт | zopetoolkit |
В результате разработки Zope 3/BlueBream в настоящее время существует множество независимых пакетов Python, используемых и разрабатываемых как часть BlueBream, и хотя многие из них можно использовать за пределами BlueBream, многие — нет. Проект Zope Toolkit (ZTK) был начат с целью выяснить, какие пакеты можно использовать вне BlueBream, а также улучшить возможность повторного использования пакетов. Таким образом, Zope Toolkit является основой для фреймворков Zope. Zope 2.12 — это первая версия веб-фреймворка, основанного на Zope Toolkit, а Grok и BlueBream должны были выпустить выпуски на основе ZTK в 2010 году.
Грок
[ редактировать ]В 2006 году проект Grok был запущен рядом разработчиков Zope 3, которые хотели сделать технологию Zope 3 более гибкой в использовании и более доступной для новичков. С тех пор Grok регулярно выпускает релизы, и его основная технология (Martian, grokcore.comComponent) также находит применение в других проектах на базе Zope 3 и Zope 2.
Зопе 4
[ редактировать ]В конце 2017 года началась разработка Zope 4. [16] Zope 4 является преемником Zope 2.13 и содержит множество изменений, несовместимых с Zope 2.
Зопе 5
[ редактировать ]Zope 5 вышел в 2020 году.
Шаблоны страниц Zope
[ редактировать ]Как упоминалось ранее, шаблоны страниц Zope сами по себе являются документами XHTML, что означает, что их можно просматривать и редактировать с помощью обычных редакторов HTML или инструментов, совместимых с XHTML (большое преимущество по сравнению с другими языками шаблонов, используемыми для веб-приложений). Шаблоны также можно проверить на соответствие XHTML, поэтому вы можете быть уверены, что они автоматически преобразуются в правильный XHTML.
Однако эти шаблоны страниц не предназначены для отображения «как есть». Вместо этого они размечаются дополнительными элементами и атрибутами в специальных пространствах имен XML (см. ниже). Эта дополнительная информация используется для описания того, как в конечном итоге следует обрабатывать шаблон страницы.
Вот несколько основных примеров. Чтобы условно включить определенный элемент, например div
элемент, просто добавьте tal:condition
атрибут элемента следующим образом:
<div tal:condition="...">
...
</div>
Чтобы контролировать то, что отображается внутри элемента, используйте tal:content
атрибут такой:
<h1><span tal:content="..."/></h1>
...
Наконец, чтобы ввести или заменить значения атрибутов, используйте команду tal:attributes
атрибут, как показано ниже. Вы можете использовать Python для изменения href во время выполнения.
<a href="" tal:attributes="href python:'http://someurl.com/%s'%someobject">...</a>
Это очень беглое объяснение шаблонов страниц Zope. Поведение шаблонов страниц Zope практически полностью описывается языком шаблонов , зафиксированным в спецификациях TAL, TALES и METAL:
- Язык атрибутов шаблона (TAL),
- Синтаксис выражения языка атрибутов шаблона ( TALES ),
- Язык атрибутов шаблона расширения макросов ( METAL ).
Известное программное обеспечение, использующее Zope
[ редактировать ]- SchoolTool с открытым исходным кодом — это информационная система учащихся , использующая Zope.
- Plone с открытым исходным кодом — это система управления контентом , использующая Zope.
См. также
[ редактировать ]- Проект пилонов
- Джанго
- веб2py
- Управление контентом (CM)
- Система управления веб-контентом (WCMS)
- Ная
- витой
Ссылки
[ редактировать ]- ^ «Журнал изменений — документация Zope 5.8.6» .
- ^ Jump up to: а б Реувен М. Лернер. «В кузнице — оценка Ruby on Rails» . Linux-журнал . Проверено 26 марта 2010 г.
Zope также был пионером идеи публикации объектов, при которой URL-адрес описывает метод, который следует вызвать для конкретного объекта.
- ^ Jump up to: а б Филип Дж. Эби (11 декабря 2003 г.). «Комментарий к статье «Лисп и производительность» » . Джоэл о программном обеспечении. Архивировано из оригинала 18 февраля 2009 г. Проверено 26 марта 2010 г.
В 1997 году Джим Фултон (технический директор Zope Corp) разработал метод, который он назвал «Публикация объектов», и реализовал его в библиотеке под названием Python Object Publisher (также известной как Bobo). Метафора публикации объектов сегодня встречается во многих инструментах Python; в других языках оно встречается в лучшем случае только в искалеченном виде.
- ^ Лутц, Марк (2006). «18: Продвинутые темы Интернета» . Программирование на Python (3-е изд.). О'Рейли Медиа . ISBN 9780596554613 . Проверено 27 марта 2010 г.
Использование Zope распространилось так быстро, что многие питонисты рассматривали его как приложение-убийцу Python — систему настолько хорошую, что она естественным образом выдвигает Python в центр внимания разработчиков.
- ^ Джон Уделл (7 февраля 2000 г.). «Zope — убийственное приложение для Python» . БАЙТ . Архивировано из оригинала 02 марта 2000 г. Проверено 4 июня 2011 г.
- ^ «Гвидо ван Россум покидает Zope.com — Slashdot» . Developers.slashdot.org .
- ^ «Документация BlueBream» . Архивировано из оригинала 22 января 2010 г. Проверено 17 января 2010 г.
- ^ «Заседание совета директоров Zope Foundation 14 октября 2010 г.» . Проверено 17 января 2010 г.
- ^ «Журнал изменений» . 9 сентября 2022 г. Проверено 18 октября 2022 г.
- ^ "голубик 1.0" . pypi.python.org. 18 января 2011 г. Проверено 4 ноября 2020 г.
- ^ Jump up to: а б «1. Введение — документация BlueBream v1.0b4» . bluebream.zope.org . Архивировано из оригинала 22 января 2010 г. Проверено 17 января 2010 г.
- ^ «Zope.dev — ресурсы и информация zope» .
- ^ «Часто задаваемые вопросы – Общие сведения 5: Какова лицензия Zope 3?» . Архивировано из оригинала 22 августа 2009 г. Проверено 17 августа 2012 г.
Zope 3 распространяется по лицензии Zope Public License версии 2.1 (ZPL).
- ^ «Архитектура компонентов вики Zope 3» . 9 мая 2008 г. Архивировано из оригинала 9 мая 2008 г.
- ^ «Zope 3 wiki SprintSchedule» . Архивировано из оригинала 14 августа 2012 года . Проверено 17 августа 2012 г.
- ^ «Журнал изменений — Документация Zope 4.0» . zope.readthedocs.io .
Внешние ссылки
[ редактировать ]- Зопе
- 1995 заведения в Вирджинии
- Кроссплатформенное бесплатное программное обеспечение
- Бесплатные системы управления контентом
- Бесплатное программное обеспечение, написанное на Python.
- Веб-фреймворки Python (язык программирования)
- Компании-разработчики программного обеспечения, базирующиеся в Вирджинии
- Компании-разработчики программного обеспечения, основанные в 1995 году.
- Программное обеспечение для веб-разработки
- Программное обеспечение веб-сервера для Linux
- Компании-разработчики программного обеспечения США