Apache Tapestry

Apache Tapestry is an open-source component-oriented Java web application framework to implement applications in accordance with the model–view–controller (MVC) architectural pattern. Tapestry was created by Howard Lewis Ship independently, and was adopted by the Apache Software Foundation as a top-level project. Tapestry emphasizes simplicity, ease of use, and developer productivity. Tapestry adheres to the Convention over Configuration paradigm, eliminating almost all XML configuration. Tapestry uses a modular approach to web development, by having strong binding between user interface components (objects) on the web page and their corresponding Java classes. This component-based architecture borrows many ideas from WebObjects.

Component templates in Tapestry are XHTML files, with an additional XML namespace for Tapestry-specific elements. Component templates act as the view; a corresponding Java class acts as the controller and model. Tapestry includes a large number of built-in components, but also encourages developers to create their own, application-specific components.

Page and component class are Plain Old Java Objects; annotations and naming conventions are used to tie together the framework with user-created components (earlier versions of the framework used XML files to tie things together).

Tapestry embraces a technique called "live class reloading"; the running application picks up changes to classes and templates immediately, without a restart. This greatly enhances developer productivity.

The tight integration between the template and Java class, and the use of annotations and naming conventions, keeps Tapestry applications concise and readable.

Tapestry bundles the Prototype and script.aculo.us JavaScript frameworks, along with a Tapestry-specific library, so as to support Ajax operations as first-class citizens.

Tapestry 5.1 improves performance and reduces memory consumption and adds other performance related features such as automatic GZIP compression and JavaScript library aggregation, but is still backwards compatible to Tapestry 5.

Tapestry 5.2 integrates the JSR 303 (Bean Validation) specification into its validation mechanism. It also extends live class reloading to service implementations (Tapestry 5.0 and 5.1 would only reload page and component classes) and removes the need for page pooling.

Tapestry 5.3 boosts performance further, reduces memory utilization, adds new components, reworks the internal bytecode manipulation, supports the HTML5 doctype correctly, as well as many other improvements large and small.

Read more about Apache Tapestry:  Related Projects

Famous quotes containing the words apache and/or tapestry:

    The Apache have a legend that the coyote brought them fire and that the bear in his hibernations communes with the spirits of the “overworld” and later imparts the wisdom gained thereby to the medicine men.
    —Administration in the State of Arizona, U.S. public relief program (1935-1943)

    this cartoon by Raphael for a tapestry for a Pope:
    Elizabeth Bishop (1911–1979)