Tapestry Training -- From The Source

Let me help you get your team up to speed in Tapestry ... fast. Visit howardlewisship.com for details on training, mentoring and support!

Thursday, July 31, 2008

Blast from the Past: Tapestry 3.0.5

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:

Matt said...

Will this be released publicly?

We're still using version 3, and I'd be insterested to see what changed.

Howard said...

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.

Howard said...

The JARs are available via Maven as a snapshot from http://people.apache.org/repo/m2-snapshot-repository/

Bill Holloway said...

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.

sicklittlemonkey said...

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.