Apache Tapestry - Overview

Apache Tapestry is an open source web framework written in Java. It is a component based web framework. Tapestry components are Java Classes. They are neither inherited from a framework specific base class nor implementation of an interface and they are just plain POJOs (Plain old Java Objects).

The important feature of the Java used by tapestry is Annotation. Tapestry web pages are constructed by using one or more components, each having a XML based template and component class decorated with a lot of Tapestry's Annotations. Tapestry can create anything ranging from a tiny, single-page web application to a massive one consisting of hundreds of pages.

Benefits of Tapestry

Some of the benefits provided by tapestry are −

  • Highly scalable web applications.
  • Adaptive API.
  • Fast and mature framework.
  • Persistent state storage management.
  • Build-in Inversion of Control.

Features of Tapestry

Tapestry has the following features −

  • Live class reloading
  • Clear and detailed exception reporting
  • Static structure, dynamic behaviors.
  • Extensive use of Plain Old Java Objects (POJOs)
  • Code less, deliver more.

Why Tapestry?

Already Java has a lot of web frameworks like JSP, Struts, etc., Then, why do we need another framework? Most of the today's Java Web Frameworks are complex and have a steep learning curve. They are old fashioned and requires compile, test and deploy cycle for every update.

On the other hand, Tapestry provides a modern approach to web application programming by providing live class reloading. While other frameworks are introducing lots of interfaces, abstract & base classes, Tapestry just introduces a small set of annotations and still provides the ability to write large application with rich AJAX support.