GÜNCELLEME: Goblen 5.2 çıktı, bu yüzden daha önce göründüğü gibi terk edilmedi. Benim deneyimim Tapestry 4 ile ilgili, 5 değil, bu yüzden kilometreniz değişebilir. Tapestry hakkındaki görüşüm yıllar içinde değişti; Bu yazıyı yansıtacak şekilde değiştirdim.
Daha önce yaptığım gibi artık Tapestry'yi tavsiye edemiyorum. Tapestry 5 önemli bir gelişme gibi görünüyor, ancak Tapestry ile ilgili temel sorunum platformun kendisiyle ilgili değil; arkasındaki insanlarla birlikte.
Tarihsel olarak, Tapestry'nin her büyük sürüm güncellemesi, beklenenden çok daha fazla, aşırı önyargı ile geriye dönük uyumluluğu bozmuştur. Bu, önemli ölçüde yeniden yazım gerektiren yeni kodlama tekniklerinin veya teknolojilerinin dahil edilmesinden kaynaklanıyor gibi görünüyor.
Howard Lewis Ship (Tapestry'nin baş yazarı) kesinlikle mükemmel bir geliştirici, ancak Tapestry projesinin yönetimini önemsediğimi söyleyemem. Goblen 5'in geliştirilmesi, Goblen 4'ün gönderilmesinden hemen sonra başladı. Anladığım kadarıyla, Ship kendini buna adadı ve Tapestry 4'ü neredeyse Ship kadar yetenekli olmadığını düşündüğüm diğer katılımcıların ellerine bıraktı. Tapestry 3'ten Tapestry 4'e acı verici geçiş yaptıktan sonra, neredeyse hemen terk edildiğimi hissettim.
Elbette Tapestry 5'in piyasaya sürülmesiyle Tapestry 4 eski bir ürün haline geldi. Yükseltme yolu öylesine acımasız değildi ben bu bir sorun olmazdı tekrar . Öyleyse şimdi geliştirme ekibimiz oldukça inkar edilemez bir konumda: Esasen terk edilmiş bir web platformunu (Tapestry 4) kullanmaya devam edebilir, Tapestry 5'e iğrenç yükseltmeyi yapabilir veya Tapestry'den tamamen vazgeçebilir ve başka bir platform kullanarak uygulamamızı yeniden yazabiliriz. Bu seçeneklerin hiçbiri çok çekici değil.
Goblen 5, bu noktadan sonra güncellemenin kırılma olasılığını azaltmak için sözde yazılmıştır. İyi bir örnek, sayfa sınıflarıdır: önceki enkarnasyonlarda, sayfa sınıfları, Tapestry tarafından sağlanan bir temel sınıftan türemiştir; Bu sınıftaki uyumsuz API değişiklikleri, çok sayıda geriye dönük uyumluluk sorununun nedeniydi. Tapestry 5'te sayfalar, açıklamalar aracılığıyla "sihirli Goblen peri tozu" ile çalışma zamanında geliştirilmiş POJO'lardır. Ek açıklamalar için sözleşme korunduğu sürece, Goblen'de yapılan değişiklikler sayfa sınıflarınızı etkilemeyecektir.
Bu doğruysa, Tapestry 5 kullanarak yeni bir uygulama yazmak iyi sonuç verebilir. Ama şahsen, elimi tekrar brülöre koymak istemiyorum.