Tapestry

Component oriented framework for creating dynamic, robust, highly scalable web applications in Java.

  • Java Power

    Tapestry pages and components are simple Java POJOs, with easy access to all Java language features and the vast Java ecosystem. Thanks to Java's advanced concurrency API, Tapestry handles requests fast without sacrificing security or stability.

  • Scripting Ease

    Tapestry features live class reloading: change your Java code, refresh the browser and see the changes... instantly! Have your cake and eat it too: the speed and depth of Java, the agile development style of Ruby or Python.

  • Highly Productive

    Simple POJO classes, streamlined templates, live class reloading, state-of-the-art exception reporting, first-class Ajax support, and a big library of built-in components: Tapestry is designed from the ground up to give you great productivity.

We think you will love Tapestry! Give us 20 minutes and follow our quickstart guide.

search.twitter.com

Latest news

Tapestry 5.3.8
Apache Tapestry 5.3.8: compatible with Java 8. Tapestry is primarily available for download via Maven, from the Maven central repository:     <dependency> <groupId>org.apache.tapestry</groupId> <artifactId>tapestry-core</artifactId> <version>5.3.8</version> </dependency> You can also download the binary, source, or JavaDoc archives. Tapestry 5.3.8 is the latest maintenance release from the stable 5.3 release branch. If you intend to run this release on JRE 8, make sure to read the the release notes.…
The latest beta preview release of Tapestry 5.4 is now available.   The release numbers are not consecutive because not every beta release is voted for wider release. This one has. Tapestry 5.4-beta-22 contains a significant number of bug fixes and minor improvements. Dependencies on third party libraries have been updated. This release is available from the Maven Central Repository, or as a direct download.…
  The latest beta preview release of Tapestry 5.4 is now available. The release numbers are not consecutive because not every beta release is voted for wider release. This one has. Tapestry 5.4-beta-6 contains a significant number of bug fixes and minor improvements. Dependencies on third party libraries have been updated. This release is available from the Maven Central Repository, or as a direct download. While not an actual release candidate,…

Download the latest Tapestry release.

more downloads

From the community:

more modules

On-line demos available:

more demos

What is Tapestry?

Pure Java and Polyglot

Written in pure Java: code your pages and components in Java, Groovy or Scala.

Convention Over Configuration

Say goodbye to endless XML configuration files: dependency injection and meta-programming through annotations and naming conventions.

Highly Productive

Live class reloading means that the time between seeing an error and providing the fix is seconds, not minutes.

Scalable

Scales up big on a single server, and works great in a cluster. Keeps session state minimal by design.

Advanced Exception Reporting

Gives you all the tools you need to fix your problem: not just a stack trace, but every bit of information you need to know about what Tapestry was doing, why it was doing it, what went wrong, and how to fix it.

Testable

Committed to testability throughout design; built-in utilities to enhance TDD. Support for Selenium for integration testing. See Tapestry's code coverage report

Fast

Pure Java; no reflection, not even for property expressions. Built to cleanly support large numbers of concurrent threads without contention. Integrated GZip content compression, JavaScript aggregation and compression, and client-side caching.

Adaptable And Modular

Architecture is open and extensible. There's a clean way to add your own extensions, or override built-in logic. Provides integration with Hibernate, JPA, and Spring. Third-party integrations with other tools, such as Quartz and Lucene.

More on Tapestry philosophy - Who uses Tapestry ?