has been released. This release stabilizes the new 3.0 features, fixes many bugs and includes a completely reworked version of the Virtual Library demo J2EE application. It also includes a simple JSP tag library to help integrate traditional servlet applications with Tapestry applications.
Tapestry is a true component-based web application framework designed for high developer productivity and high levels of code reuse. Tapestry applications consist of pages or reusable Tapestry components. Creating your own components in Tapestry is a snap!
The Tapestry framework takes care of all the minutiae of creating a web application, shielding you from the Servlet API. Tapestry allows you to code your application using ordinary objects, objects with internal state ... unlike servlets, which contain no state and are multithreaded.
Adding interactivity to a Tapestry application simply involves creating short listener methods on your page and component classes, methods invoked when links are clicked or forms submitted. Tapestry ensures that you never have to worry about a URL or a query parameter, or about the HttpSession or session attributes. Those things are still there in the mix ... you simply never see them or have to worry about them. Tapestry is responsible for building URLs and moving data around ... you are responsible for just the application specific logic.
Tapestry HTML templates are still valid HTML that previews properly in a WYSIWYG HTML editor. Tapestry allows HTML designers and Java developers to work side-by-side without interfering with each other.
Tapestry includes a suite of components for validating user input: both on the client and on the server. A library of WML components has recently been added. Tapestry includes exceptionally powerful error reporting and is focused, at all levels, on improving developer productivity ... turning web application development from a nightmare into a joy.
That's just scratching the surface of what Tapestry has to offer. Check it out!