更新: Tapestry 5.2 が出たので、以前のように放棄されたわけではありません。私の経験は Tapestry 5 ではなく 4 であるため、走行距離は異なる場合があります。タペストリーに対する私の意見は、長年にわたって変化してきました。それを反映するためにこの投稿を修正しました。
以前のようにタペストリーをお勧めすることはできなくなりました。Tapestry 5 は大幅に改善されているように見えますが、Tapestry に関する私の主な問題はプラットフォーム自体ではありません。後ろの人たちと一緒です。
歴史的に、Tapestry のすべてのメジャー バージョン アップデートは、予想をはるかに超える極端な偏見を伴う下位互換性を破壊してきました。これは、大幅な書き換えを必要とする新しいコーディング手法またはテクノロジの組み込みによるものと思われます。
Howard Lewis Ship (Tapestry の主な著者) は確かに素晴らしい開発者ですが、彼の Tapestry プロジェクトの管理を気にかけているとは言えません。タペストリー5の開発は、タペストリー4の出荷直後から始まりました。私が知る限り、Ship はそれに専念し、Tapestry 4 を他の貢献者の手に委ねました。タペストリー 3 からタペストリー 4 への苦痛な切り替えを行った後、すぐに見捨てられたと感じました。
もちろん、Tapestry 5 のリリースにより、Tapestry 4 はレガシー製品になりました。アップグレード パスがそれほど残忍なものでなければ、これで問題はありません。そのため、現在、開発チームはかなりうらやましい立場にあります。本質的に放棄された Web プラットフォーム (Tapestry 4) を引き続き使用するか、Tapestry 5 への凶悪なアップグレードを行うか、Tapestry を完全に放棄して別のプラットフォームを使用してアプリケーションを書き直すかです。これらのオプションはどれも非常に魅力的ではありません。
Tapestry 5 は、この時点から更新が中断される可能性を減らすように書かれていると思われます。良い例はページ クラスです。以前の化身では、ページ クラスはタペストリーによって提供される基本クラスから派生していました。このクラスの互換性のない API の変更は、多数の下位互換性の問題の原因でした。Tapestry 5 では、ページは POJO であり、注釈を介して「魔法のタペストリーの妖精の粉」で実行時に拡張されます。したがって、注釈のコントラクトが維持されている限り、Tapestry への変更はページ クラスに影響しません。
これが正しければ、Tapestry 5 を使用して新しいアプリケーションを作成するとうまくいく可能性があります。でも、個人的にはもうバーナーに手を当てる気にはなれません。