The framework, based on the component object model, provides a significant number of other features, including:
Easy localization of applications
Extremely robust error handling and reporting
Highly re-usable components
Automatic persistence of server-side client state between request cycles
Powerful processing of HTML forms
Strong support for load balancing and fail over
Zero code generation [1]
Easy deployment
The Inspector, which allows developers to debug a running Tapestry application
The point of Tapestry is to free the web application developer from the most tedious tasks. In many cases, the "raw plumbing" of a web application can be completely mechanized by the framework, leaving the developer to deal with more interesting challenges, such as business and presentation logic.
As Tapestry continues to develop, new features will be added. On the drawing board are:
Support for easy cross-browser DHTML
XML / XHTML support
Improved WAP / WML support
A real-time performance "Dashboard"
[1] That is, Tapestry templates and specifications are interpreted as is. Unlike JSPs, they are not translated into Java source code and compiled into Java classes. This greatly simplifies debugging since no code is generated at runtime.