Что такое BlueBream?
BlueBream - готовый к использованию свободный/с открытым исходным кодом фреймворк для создания веб приложений, написанный на языке программирования Python. BlueBream предоставляет компонентную архитектуру, транзакционную объектную базу данных, хорошо интегрированную модель безопасности и много других возможностей.
История
BlueBream берет свое начало из сообщества Zope, созданного в 1998 году. Изначально основополагающие технологии Zope были разработаны в Zope Corporation. Разработка BlueBream началась в конце 2001 года. В ноябре 2004 года была выпущена первая версия. BlueBream - полностью переписанный вариант, который сохраняет только объектную базу данных ZODB. Архитектура BlueBream порождена потребностями больших компаний, и нацелена на создание корпоративных (enterprise) веб приложений с использованием новейших парадигм в разработке программного обеспечения. На проект очень сильно повлияла концепция экстремального программирования, поэтому для ускорения процесса разработки BlueBream проводятся спринты. В 2006 году был создан фонд Zope, целью которого стала помощь в организации и создании связей с сообществом Zope.
Почему BlueBream?
Вот несколько особенностей, которые отличают BlueBream от других веб фреймворков языка Python:
-
BlueBream построен на базе Zope Tool Kit (ZTK), который разрабатывался много лет и доказал свою надежность и соответствие потребностям к разработки стабильного, масштабируемого программного обеспечения.
-
BlueBream использует мощную и известную систему сборки Buildout, созданную на языке Python.
-
BlueBream использует Zope Object Database (ZODB) - транзакционную объектную базу данных, которая обеспечивает мощный и простой в использовании механизм долгосрочного хранения.
-
BlueBream регистрирует компоненты с помощью Zope Component Markup Language (ZCML) - языка конфигураций, основанном на XML, который обеспечивает безграничную гибкость.
-
BlueBream может также регистрировать компоненты используя GROK, который добавляет новый слой конфигурации, замещая декларативную конфигурацию ZCML конвенциями и объявлениями в стандартах Python.
-
BlueBream обладает Zope Component Architecture (ZCA), которая реализует разделение задач для создания высоко-связуемых компонентов повторного использования (zope.component).
Сравнение BlueBream c другими Фреймворками!
Для того, чтобы сделать выводы о популярности этого фреймворка, было принято решение создать сравнительную таблицу, расположенную ниже.Muffin, был сравнен с такими фреймворками как – Jango и CherryPy по следующим критериям:
• Группа фреймворков: Full stack или Micro-framework.
• Звёзды Github: общее количество звезд проекта, выставленных пользователям.
• Релизы Github: количество релизов каждого проекта, что отражает активность работы над проектом и его зрелость.
• Fork-и Github: количество, сделанных копий каждого проекта, что показывает популярность использования проекта в собственных работах.
• Вопросы Stack-overflow: количество вопросов, заданных по определенной теме.
• Вакансии: количество вакансий, связанных с технологиями или ИТ компетенциями.
| Название фреймворка | Группа фреймворка | Звезды на Github | Релизы на Github | Fork-и на Github | Вопросы на stackoverflow | Вакансии |
| BlueBream | Zope Toolkit | 874 | 198 | 1139 | 6 | 956 |
| Django | Full | 46 528 | 275 | 20 400 | 217 300 | 679 |
| CherryPy | Micro | 1 130 | 127 | 279 | 1 300 | 3 |
Практическое применение фреймворка Bluebream
К сожалению, как на русскоязычных, так и на иностранных ресурсах число информации о проектах, выполненных на данном фреймворке, а также обучающих пособий по нему невелико, к счастью, один пример удалось сыскать.
Bluebream использовался при создании системы электронного документооборота NauDoc. На сайте ранее было указано, что данная система некоторое время была в эксплуатации ОАО Далькомбанк, и в неё были введены около 1000 пользователей. Вскоре банк отказался от данной системы в виду её непригодности для решения необходимых задач и многочисленных технических неисправностей.
Вывод
BlueBream не пользуется популярностью, но именно поэтому его можно использовать, для того чтобы реализовать свой уникальный проект. Чтобы найти для себя идеально подходящий фреймворк нужно поработать в нём на практике и сравнить с аналогами. Перечень возможностей и общая концепция BlueBream, упомянутые ранее, сами по себе являются мотивацией для его тестирования.
