My current task has put me in an odd mood. A client of Jesse's (Kuhnert) contracted him to make some changes to the Tapestry 3 code base, with me auditting those changes. Jesse has backported some ideas from Tapestry 4 and Tapestry 5: mostly the use of a backported version of java.util.concurrent to improve Tapestry 3 throughput by replacing single-thread synchronized access with concurrent access.
Many of these files haven't really been touched since 2004. It's brought back a lot of memories, such as working on TheServerSide's application.
To my jaundiced eye, the code looks almost primitive; no IoC container, no dependency management, heavy reliance on base classes, a lot of rather naive multithreading.
Overall, I'd say that Tapestry 5 is as far advanced over Tapestry 3 as Tapestry 3 was advanced over Struts. Probably more so. Looking back over this code has given me some perspective.
5 comments:
Will this be released publicly?
We're still using version 3, and I'd be insterested to see what changed.
It's available via snapshot today and in SVN trunk; there's no reason why we can't run a vote and release it. Just need to find a little time.
The JARs are available via Maven as a snapshot from http://people.apache.org/repo/m2-snapshot-repository/
It's nice to be able see how far one has come technically and muse over the changes to Java and one's own code maturity.
Combined with Spindle, T3 was still the greatest open source web framework of its time. I looked at them all, chose T3 and was very happy for a couple of years.
Cheers,
Nick.
Post a Comment