ОБНОВЛЕНИЕ: Гобелен 5.2 вышел, поэтому он не заброшен, как раньше. Мой опыт работы с Tapestry 4, а не 5, поэтому ваш опыт может отличаться. Мое мнение о Tapestry изменилось с годами; Я изменил этот пост, чтобы отразить это.
Я больше не могу рекомендовать Tapestry, как раньше. Tapestry 5 кажется значительным улучшением, но моя главная проблема с Tapestry не в самой платформе; это с людьми, стоящими за этим.
Исторически сложилось так, что каждое крупное обновление версии Tapestry нарушало обратную совместимость с крайними предрассудками, намного больше, чем можно было ожидать. Это, по-видимому, связано с внедрением новых методов или технологий кодирования, которые требуют значительных изменений.
Говард Льюис Шип (главный автор Tapestry), безусловно, блестящий разработчик, но я не могу сказать, что мне небезразлично его руководство проектом Tapestry. Разработка Tapestry 5 началась почти сразу после поставки Tapestry 4. Насколько я могу судить, Корабль в значительной степени посвятил себя этому, оставив Tapestry 4 в руках других участников, которые, как мне кажется, не так хороши, как Ship. После болезненного перехода с Tapestry 3 на Tapestry 4 я почти сразу почувствовал, что меня бросили.
Конечно, с выпуском Tapestry 5, Tapestry 4 стала устаревшим продуктом. У меня не было бы проблем с этим, если бы путь обновления снова не был таким жестоким . Итак, теперь наша команда разработчиков находится в довольно незавидном положении: мы могли бы продолжать использовать практически заброшенную веб-платформу (Tapestry 4), сделать чудовищное обновление до Tapestry 5 или полностью отказаться от Tapestry и переписать наше приложение, используя другую платформу. Ни один из этих вариантов не очень привлекателен.
Гобелен 5 якобы написан так, чтобы с этого момента снизить вероятность поломки обновления. Хороший пример - классы страниц: в предыдущих воплощениях классы страниц происходили от базового класса, предоставленного Tapestry; несовместимые изменения API в этом классе стали причиной большого количества проблем с обратной совместимостью. В Tapestry 5 страницы - это объекты POJO, которые во время выполнения дополняются «волшебной волшебной пылью Tapestry» с помощью аннотаций. Таким образом, пока сохраняется контракт на аннотации, изменения Tapestry не повлияют на классы ваших страниц.
Если это верно, то написание нового приложения с использованием Tapestry 5 может оказаться удачным. Но лично мне не хочется снова класть руку на конфорку.