Tapestry
Apache Tapestry | |
Apache Tapestry Logo | |
Тип | Веб-фреймворк |
Разработчик | Apache Software Foundation |
Написана на | Java |
ОС | Кроссплатформенное ПО |
Версия | 5.1.0.5 (6 мая 2009) |
Лицензия | Apache License 2.0 |
Сайт | http://tapestry.apache.org (англ.) |
Tapestry — объектно-ориентированный java фреймворк для создания веб-приложений реализующих модель MVC. Изначально Tapestry был создан Howard Lewis Ship, но впоследствии поддерживался и развивался организацией Apache Software Foundation. Основной акцент в Tapestry сделан на простоту, лёгкость использования, невозможность программистами создания больших кусков «glue code». Tapestry использует модульный подход к веб-разработке, используя биндинг между компонентами (объектами) пользовательского интерфейса на веб-странице и соответствующими им java-классами. Эта компонентно-ориентированная архитектура почерпнула большое количество идей из WebObjects[1].
Tapestry 4
Текущим стабильным релизом Tapestry является версия 5.1.0.5. Версия 4 и более ранние довольно похожи, в то время как версия 5 содержит значительные изменения.
В Tapestry 4 веб-приложения разбиваются на страницы и компоненты. Страницы описывают уровень компонент, в то время как компоненты определяют функциональность. Этот подход разделяет цельное веб-приложение на легкоуправляемые фрагменты кода, которые управляют взаимодействием с пользователем, бизнес логикой и состоянием (en). Компоненты также делятся на базовые (core) и дополнительные (supplemental). Базовые компоненты являются основными «строительными кирпичами» приложения, такие как валидаторы форм, средства для построения интерфейса или объекты состояния. Дополнительные компоненты определяют, каким образом группа базовых компонент может взаимодействовать с другими базовыми компонентами в группе.
Шаблоны компонентов в Tapestry представляют собой XHTML файлы. Как правило, маппинг между java-классами и XHTML-объектами, которыми они управляют описывается в XML файле. Взаимодействие между backend'ом (java класс) и frontend'ом (XHTML объект) осуществляется с помощью OGNL. Разметка страницы производится иным образом, нежели в PHP, ASP, и JSP, в которых используются специальные теги для разделения переменных шаблона и кода.
Tapestry 5
Разработка пятой версии Tapestry началась вскоре после релиза версии 4. Разработчики поняли, что оригинальная архитектура, основанная на наследовании от базовых классов, затрудняет улучшение и развитие фреймворка с сохранением обратной совместимости в каждом релизе. Кроме того, она не позволяла решить большое количество проблем преследовавших разработчиков которые использовали данный фреймворк. Новый подход (и новая кодовая база) основывался на POJO, аннотациях и конвенции об именовании. Аннотации и конвенции о наименовании полностью вытеснили файлы дескрипторов в формате XML предыдущих версий. Кроме того, была устранена необходимость в перекомпилировании, архивировании, деплое и перезапуске сервлетов при каждом изменении в коде. Данная возможность получила название «живая перезагрузка классов» («live class reloading»). Все перечисленные возможности делают Tapestry 5 необычайно гибким.
Version 5 объединяет фреймворки Prototype и Scriptaculous Javascript со специфическими библиотеками Tapestry для поддержки технологии Ajax.
В Tapestry 5.1 была улучшена производительность и снижено потребление памяти, а также добавлены дополнительные фичи для улучшения производительности, такие как автоматическая компрессия трафика с помощью GZIP и агрегация JavaScript библиотек. Несмотря на большое количество нововведений и улучшений, Tapestry 5.1 полностью сохраняет обратную совместимость с Tapestry 5.
Связанные проекты
Tapestry 4 используется в фреймворке Trails Framework.
Примечания
- ↑ Tapestry in Action — Preface by Howard Lewis Ship
Литература
- Alexander Kolesnikov Tapestry 5: Building Web Applications: A step-by-step guide to Java Web development with the developer-friendly Apache Tapestry framework. — Packt Publishing, January 15, 2008. — 280 p. — ISBN 1847193072
- Howard M. Lewis Ship Tapestry in Action. — Manning, March 2004. — 580 p. — ISBN 1932394117
- Ka Iok Tong Enjoying Web Development with Tapestry. — 3rd. — January 1, 2007. — 497 p.
Ссылки
- Tapestry Home Page (англ.)
- Tapestry 5 Home Page (англ.)
- Howard Lewis Ship (англ.)
- Enjoying Web Development with Tapestry book (англ.)
- Trails Framework (англ.)
cs:Tapestry de:Tapestry en:Tapestry (programming) es:Tapestry framework fr:Apache Tapestry ja:Apache Tapestry zh:Tapestry
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....