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