Share on Facebook Share on Twitter Email
Answers.com

Tapestry

 
Wikipedia: Tapestry (programming)
Apache Tapestry
Apache Tapestry Logo
Developer(s) Apache Software Foundation
Stable release 5.1.0.5 / 2009-05-06; 3 months ago
Written in Java
Operating system Cross-platform
Development status Active
Type Web Framework
License Apache License 2.0
Website http://tapestry.apache.org

Tapestry is an object-oriented Java web application framework to implement applications in accordance with the model-view-controller design pattern. Tapestry was created by Howard Lewis Ship independently, and was adopted by the Apache Software Foundation. Tapestry emphasizes simplicity, ease of use, and aims to avoid forcing programmers to create enormous blocks of "glue code". 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[1].

Contents

Tapestry 4

The current stable Tapestry release is version 5.0. Version 4 and below are relatively similar, whereas version 5 contains substantial changes.

Tapestry 4 web applications are broken down into pages and components. Pages dictate component layout, whereas components dictate functionality. This approach separates complex applications into easily manageable snippets of code which handle user interactions, business logic, and persistent data. Components are broken down further into core and supplemental types. Core components are the basic building blocks to the application, such as form validation, interface assets, or persistent objects. Supplemental components define how a group of any core components may interact with other in the group.

Component templates in Tapestry are XHTML files. Typically an XML file defines the mapping between Java classes and the XHTML objects they control. The communication between the backend Java and frontend (web application programming) XHTML objects is handled through OGNL. The code is marked up differently from the typical mechanism used by PHP, ASP, and JSP, which use special tags to enclose template variables and code.

Tapestry 5

Tapestry version 5 began development shortly after version 4 was released. The Tapestry developers had realized that the original architecture, based on inheritance from base classes, made it difficult to enhance the framework without breaking backwards compatibility on each new release. Also, it would not solve many problems plaguing web developers using its framework. A new approach (and an entirely new code base), centered on Plain Old Java Objects, annotations and naming conventions, and runtime bytecode enhancement was undertaken. The annotations and naming conventions entirely replace the XML descriptor files of prior versions. Additionally, the need to recompile, archive, deploy, and restart their servlet on every code change was eliminated, a process called live class reloading. All of these make Tapestry 5 extremely concise.

Version 5 bundles the Prototype and Scriptaculous 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.

Related projects

Tapestry 4 is used in the Trails Framework.

References

  1. ^ Tapestry in Action - Preface by Howard Lewis Ship

Bibliography

External links


Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics
 
 
Learn More
tapet
tapis
Sciascia, Leonardo (Quotes By)

When was the tapestry discovered? Read answer...
Where is the Bayeaux tapestry? Read answer...
What is the beaux tapestry? Read answer...

Help us answer these
Do tapestries have speech?
Why do they make the Tapestry?
A sentence for tapestry?

Post a question - any question - to the WikiAnswers community:

 

Copyrights:

Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "Tapestry (programming)" Read more