Tapestry is a full-featured component-based framework for developing web applications. Its goal is to liberate Java developers from writing boring, buggy code.
In Tapestry, everything is a component; pages are built from components, or components can be combined to form more complex components.
Tapestry leverages this component object model to take care of the drudgery of web application development: constructing URLs for inclusion on a web page, and interpreting such URLs when a link is clicked (or form submitted) and dispatching to the correct chunk of code.
Tapestry applications are fast, extremely dynamic and robust.
Fast because Java really is fast, as long as you don't stop to run the compiler in the middle of things.
Dynamic because Tapestry components are themselves dynamic, due to the component object model and the use of JavaBeans properties to dynamically configure components as they operate.
Robust because Tapestry applications limit the amount of code you have to write, and the Tapestry code that wraps around your code is very robust ... and very, very good at reporting exceptions when things do go wrong.
One of the advantages of Tapestry is that it does not rely on code generation. I consider this a big leg up on JavaServer Pages, since it bypasses this whole discussion "where does my JSP get compiled to?" and "how do I debug it?". All Java code in Tapestry is developed in an IDE.
Release 1.0.8 features a improved input field validation subsystem, a file upload component, and the usual raft of minor improvements and bug fixes.
It also integrates directly into JBoss 2.4.3 using Ant. You can have the Tapestry home page and demonstrations running in about a minute.
I feel this is a valid forum in which to announce new releases of Tapestry (about every month or so). If you feel this is not appropriate, please drop me a (polite) line and I will refrain from doing so in the future.
Tapestry Release 1.0.9 is primarily a bug fix release, and a release candidate for the next major release of Tapestry.
It includes several extensions to the input validation subsystem.
Release 1.0.10 is due out shortly.