BlueBream
вэб-фреймворк




   http://margincon.ru
    Омск, 26.06.2010
  Ильшад Хабибуллин
Базис
           идеи, ведущие к появлению BlueBream

       Over-engineering                    Расширяемость как
    чер...
Вынос over-engineering
                    на сторону
       Over-engineering         Расширяемость как
    через предвосх...
Launchpad

     ZTK
                      •

                      • Shooltool

                      • Plone

           ...
Важные идеи BlueBream
●   Интерфейсы                ●   Security Proxy
●   Реестры компонент:        ●   Декларативный язы...
●   Интерфейсы                                ●   Security Proxy
●   Реестры компонент: глобальные и           ●   Деклара...
●   Интерфейсы
                                                        ●   Security Proxy
●   Реестры компонент: глобальны...
●   Интерфейсы
                                                ●   Security Proxy
●   Реестры компонент: глобальные и лока...
●   Интерфейсы                                  ●   Security Proxy
●   Реестры компонент: глобальные и локальные
         ...
●   Интерфейсы                                  ●   Security Proxy
    Реестры компонент: глобальные и локальные
         ...
●   Интерфейсы                                  ●   Security Proxy

●   Реестры компонент: глобальные и локальные   ●   Де...
http://bluebream.ru
http://bluebream.zope.org

 Ильшад Хабибуллин
 http://astoon.zwiki.org
Upcoming SlideShare
Loading in...5
×

Ильшад Хабибуллин — BlueBream

1,957

Published on

Ильшад Хабибуллин расказывает о веб-фреймворке BlueBream на базе ZTK.

Published in: Technology, News & Politics
1 Comment
1 Like
Statistics
Notes
  • Тезисы кратко изложил здесь: http://astoon.zwiki.org/MarginCon2010
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
1,957
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
10
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Ильшад Хабибуллин — BlueBream

  1. 1. BlueBream вэб-фреймворк http://margincon.ru Омск, 26.06.2010 Ильшад Хабибуллин
  2. 2. Базис идеи, ведущие к появлению BlueBream Over-engineering Расширяемость как через предвосхищение необходимое условие ➔ ООП иерархии Есть такие проекты, где это ➔ Код для вставки хуков необходимо ➔ Лишние абстракции ➔ Написание библиотек ➔ Проекты с постоянно и фреймворков на ровном изменяемыми требованиями месте ➔ Расширяемые продукты КОНФЛИКТ
  3. 3. Вынос over-engineering на сторону Over-engineering Расширяемость как через предвосхищение необходимое условие ➔ ООП иерархии Есть такие проекты, где это ➔ Код для вставки хуков необходимо ➔ Лишние абстракции ➔ Написание библиотек ➔ Проекты с постоянно и фреймворков на ровном изменяемыми требованиями месте ➔ Расширяемые продукты Тулкит
  4. 4. Launchpad ZTK • • Shooltool • Plone • ERP5 • ... Инфраструктура, интеграция инструментов в фреймворк BlueBream ➔ Быстрый старт ➔ Конфигурации по умолчанию ➔ Интегрирующая документация
  5. 5. Важные идеи BlueBream ● Интерфейсы ● Security Proxy ● Реестры компонент: ● Декларативный язык глобальные и локальные ZCML ● Компонентная ● Развертывание: архитектура, основанная Buildout на адаптерах
  6. 6. ● Интерфейсы ● Security Proxy ● Реестры компонент: глобальные и ● Декларативный язык ZCML локальные ● Развертывание: Buildout ● Компонентная архитектура, основанная на адаптерах from zope.interface import Interface, Attribute, implements class IFoo(Interface): bar = Attribute("Bar attribute") def baaz(): """Doc string""" class Foo(object): implements(IFoo) bar = None def baaz(self): pass
  7. 7. ● Интерфейсы ● Security Proxy ● Реестры компонент: глобальные ● Декларативный язык ZCML и локальные ● Компонентная архитектура, основанная на адаптерах ● Развертывание: Buildout ЗАПРОC: Python объекты становятся компонентами ● interface тогда, когда они зарегистрированы в ● name реестрах компонент class Foo: class Foo: pass implements(IFoo) Реестр Выбирает компоненты
  8. 8. ● Интерфейсы ● Security Proxy ● Реестры компонент: глобальные и локальные ● Декларативный язык ZCML ● Компонентная архитектура, ● Развертывание: Buildout основанная на адаптерах class IPerson(Interface): name = Attribute("Person Name") class Article2Person(object): implements(IPerson) adapts(IArticle) def __init__(self, article): self.article = article @property def name(self): return self.article.get_article_name() # использование адаптера adapter = IPerson(ob) name = adapter.name
  9. 9. ● Интерфейсы ● Security Proxy ● Реестры компонент: глобальные и локальные ● Декларативный язык ZCML ● Компонентная архитектура, основанная на адаптерах ● Развертывание: Buildout Все объекты обернуты в Security Proxy
  10. 10. ● Интерфейсы ● Security Proxy Реестры компонент: глобальные и локальные Декларативный язык ● ● Компонентная архитектура, основанная на ZCML ● адаптерах ● Развертывание: Buildout Декларативные конструкции - на декларативном языке. Простой XML с одним уровнем вложенности.
  11. 11. ● Интерфейсы ● Security Proxy ● Реестры компонент: глобальные и локальные ● Декларативный язык ZCML ● Компонентная архитектура, основанная на ● Развертывание: адаптерах Buildout $ python bootstrap.py $ bin/buildout $ bin/paster serve deploy.ini
  12. 12. http://bluebream.ru http://bluebream.zope.org Ильшад Хабибуллин http://astoon.zwiki.org
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×