Tapestry

Tapestry
Apache Tapestry
Apache Tapestry Logo
Тип

Веб-фреймворк

Разработчик

Apache Software Foundation

Написана на

Java

Операционная система

Кроссплатформенное ПО

Последняя версия

5.3.6 (12 октября 2012)

Состояние

Active

Лицензия

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.3.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 предыдущих версий. Единственный XML файл требуемый проектом — web.xml. Кроме того, была устранена необходимость в перекомпилировании, архивировании, деплое и перезапуске сервлетов при каждом изменении в коде. Данная возможность получила название «живая перезагрузка классов» («live class reloading»). Все перечисленные возможности делают Tapestry 5 необычайно гибким.

Version 5 объединяет фреймворки Prototype и Scriptaculous Javascript со специфическими библиотеками Tapestry для поддержки технологии Ajax.

В Tapestry 5.1 была улучшена производительность и снижено потребление памяти, а также добавлены дополнительные фичи для улучшения производительности, такие как автоматическая компрессия трафика с помощью GZIP и агрегация JavaScript библиотек. Несмотря на большое количество нововведений и улучшений, Tapestry 5.1 полностью сохраняет обратную совместимость с Tapestry 5.

Tapestry 5.2 объединяет спецификацию JSR 303 (валидация данных) со своими внутренними механизмами проверки. Живая перезагрузка классов (Live class reloading) была усовершенствована, и теперь также поддерживает перезагрузку реализаций сервисов (под сервисом имеется в виду связка интерфейса и класса реализации).

Tapestry 5.3 улучшает производительность, уменьшает использование памяти, добавляет новые компоненты. Переработан внутренний механизм работы с байт-кодом, полная поддержка HTML5.

Tapestry 5.4 несет серьезные изменения в работе с JavaScript. Теперь Tapestry включает в себя RequireJS, и может динамически подгружать JS библиотеки и файлы.

Связанные проекты

  • Tapestry 4 используется в фреймворке Trails Framework.
  • В Tapestry 5 по умолчанию доступна Blackbird консоль для отладки JavaScript[2]. Начиная с версии 5.3 консоль Blackbird убрана из фреймворка без замены[3].
  • Tapestry5-jQuery[4] — проект заменяет Prototype на jQuery и предлагает множество компонентов из jQuery UI[5]
  • Множество других компонентов и библиотек доступны на сайте фреймворка[6].
  • Поддержка IDE — для Tapestry 5 доступны плагины для Eclipse и IntelliJ IDEA.
  • Tapestry JumpStart — демонстрация возможностей фреймворка без использования дополнительных плагинов, и объянение принципов его работы.[7]

Интеграция с другими фреймворками

В Tapestry 5 по умолчанию предусмотрена интеграция с

  • Hibernate для поддержки ORM
  • Spring для внедрения зависимостей, DI англ. Dependency Injection
  • Spring Security (ранее Acegi) для обеспечения безопасности
  • JBoss Seam для упрощения реализации бизнес логики
  • prototype/scriptaculous — со стороны пользователя (англ. frontend) Tapestry использует связку из двух JavaScript фреймворков.

Примечания

Литература

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "Tapestry" в других словарях:

  • Tapestry — is a form of textile art. It is woven by hand on a vertical loom. It is weft faced weaving, in which all the warp threads are hidden in the completed work, unlike cloth weaving where both the warp and the weft threads may be visible. In this way …   Wikipedia

  • Tapestry — • A fabric in which the two processes of weaving and embroidering are combined Catholic Encyclopedia. Kevin Knight. 2006. Tapestry     Tapestry      …   Catholic encyclopedia

  • Tapestry — Álbum de Carole King Publicación marzo de 1971 Grabación 1971 Género(s) pop / Rhythm Blues Duración …   Wikipedia Español

  • Tapestry — Tap es*try, n.; pl. {Tapestries}. [F. tapissere, fr. tapisser to carpet, to hang, or cover with tapestry, fr. tapis a carpet, carpeting, LL. tapecius, fr. L. tapete carpet, tapestry, Gr. ?, ?. Cf. {Tapis}, {Tippet}.] A fabric, usually of worsted …   The Collaborative International Dictionary of English

  • Tapestry — Tap es*try, v. t. [imp. & p. p. {Tapestried}; p. pr. & vb. n. {Tapestrying}.] To adorn with tapestry, or as with tapestry. [1913 Webster] The Trosachs wound, as now, between gigantic walls of rock tapestried with broom and wild roses. Macaulay.… …   The Collaborative International Dictionary of English

  • Tapestry — steht für: Apache Tapestry, ein Webframework für die Programmiersprache Java Tapestry (Album), ein Musikalbum von Carole King Diese Seite ist eine Begriffsklärung zur Unterscheidung mehrerer mit demselben Wort bezeichnete …   Deutsch Wikipedia

  • tapestry — mid 15c., variant of tapissery (early 15c.), from M.Fr. tapisserie tapestry (14c.), from tapisser to cover with heavy fabric, from tapis heavy fabric, from O.Fr. tapiz (12c.), from V.L. *tappetium, from Byzantine Gk. tapetion, from classical… …   Etymology dictionary

  • tapestry — [tap′əs trē] n. pl. tapestries [LME tapsterie, earlier tapicerie < MFr tapisserie < OFr tapis, a carpet < MGr tapētion < Gr, dim. of tapēs (gen. tapētos), a carpet, prob. < Iran, as in Pers tāftan, to twist, spin < IE * temp… …   English World dictionary

  • tapestry — ► NOUN (pl. tapestries) ▪ a piece of thick textile fabric with pictures or designs formed by weaving coloured weft threads or by embroidering on canvas. DERIVATIVES tapestried adjective. ORIGIN Old French tapisserie, from tapis carpet …   English terms dictionary

  • tapestry — tapestrylike, adj. /tap euh stree/, n., pl. tapestries, v., tapestried, tapestrying. n. 1. a fabric consisting of a warp upon which colored threads are woven by hand to produce a design, often pictorial, used for wall hangings, furniture… …   Universalium


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»