You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 32 Next »


A component-oriented framework for creating 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.

Super Productivity

 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 tutorial.

News

Tapestry 5.8.2 is a new release introducing CORS (Cross-Origin Resource Sharing) support and also includes a number of bug fixes and small improvements. Tapestry 5.8.2 is a drop-in replacement and recommended upgrade for Tapestry 5.7.0+ projects. Please check all the details in the release notes page.
Tapestry 5.8.1 release
Hello, Tapestry community! We've just released Tapestry 5.8.1. It's mostly about getting Tapestry-IoC to support all Java language features introduced between Java 9 and 17 https://docs.oracle.com/en/java/javase/17/language/.  It also includes some other bug fixes and small improvements. Tapestry 5.8.1 is a drop-in replacement and recommended upgrade for Tapestry 5.7.0+ projects. All the details are in the release notes. Happy coding!
Tapestry 5.8.0 release
Hello, Tapestry community!Tapestry 5.8.0 has just been released. It's focused on a couple of new features: Support for writing REST endpoints. Read more about this on its documentation page: https://tapestry.apache.org/rest-support-580.html https://tapestry.apache.org/rest-support-580.html. Support for Servlet API 3.0+ asynchronous requests. Full release notes at https://tapestry.apache.org/release-notes-580.html https://tapestry.apache.org/release-notes-580.html. Tapestry 5.8.…
Tapestry 5.7.3 is a new release focused on some improvements and new features. Main ones are: Upgrading Hibernate's version from 5.1.1.Final to 5.4.32.Final. This required some changes in tapestry-hibernate due to some non-backward-compatible changes between these 2 Hibernate versions. If your project doesn't work with this new Hibernate version, you should be able to use version 5.7.2 of tapestry-hibernate and tapestry-hibernate with 5.7.3 of everything else without issues.…
Tapestry 5.6.4 is a drop-in replacement and recommended upgrade for Tapestry 5.4, 5.5 and 5.6 releases. To upgrade, just update the dependency in your build configuration (Maven POM, Gradle build script, etc.) – or Download https://cwiki.apache.org/confluence/display/TAPESTRY/Download the new JAR file -- and the new version will just work. However, please review the How to Upgrade https://cwiki.apache.org/confluence/display/TAPESTRY/How+to+Upgrade instructions before upgrading.…

What is Tapestry?

Tapestry is ... a web framework for Java

Tapestry applications are written in Java, the most popular enterprise applications development language. Tapestry combines
simple Java classes with straight-forward templates to form components and pages. Tapestry takes care of all the "ugly plumbing" of a typical web application. Tapestry embraces convention over configuration. Say goodbye to endlessly editing
XML configuration files!

Tapestry is ... component based

Tapestry applications consist of pages and components. Components are easy to write, and easy to hook together. Tapestry always has an overall map of your application, because it knows all the pages and all the components within the pages ... this lets Tapestry do all the "dirty plumbing" of web application development.

Tapestry is ... agile

Easy to code, easy to test, easy to deploy. Tapestry encourages you to work in small increments with immediate feedback so you are always making fast, forward progress. Want to code in Groovy or Scala instead? No problem!

Tapestry is ... fast

Tapestry is pure Java. It doesn't use Java reflection, and is built to cleanly support large numbers of concurrent threads. Better yet, it automatically includes standard performance-enhancing strategies such as GZip content compression, JavaScript aggregation, and far future expires headers ... all of which cut down response size and the number of client requests.

Tapestry is ... productive

Code and templates are lean and mean. Live class reloading means that the time between seeing an error and providing the fix
is seconds, not minutes. 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.

Tapestry is ... scalable

Tapestry works well for everything from a lone developer working on an application with just a couple of pages,
all the way up to large teams and applications with hundreds of pages and custom components. For big teams, Tapestry's pages and components design keeps the efforts of different developers automatically integrated.

Tapestry scales up big on a single server, but also gives you great options for when you need to switch to a cluster. Tapestry makes it easy to store information on the client (as hidden fields or query parameters) or on the server (in the session).

Tapestry is ... adaptable

Tapestry's architecture is open and extensible. Don't like how Tapestry operates? There's a clean way to add your own
logic, or substitute some of Tapestry's logic with your own. Tapestry modules make it easy to create components and package them for reuse in your current application, or across many applications.

Tapestry has built-in modules for integrating Tapestry with the popular Hibernate and Spring projects, and third-party integrations with other
tools, such as Quartz.

Tapestry is ... global

Tapestry has built-in support for more than a dozen different languages, and makes it easy for your application to cleanly
support multiple localizations. Tapestry automatically tracks the user's preferred locale and makes it easy to access
user-localized messages across the entire application.

Tapestry is ... dependable

Tapestry's roots go back to 2003 as an Apache project, and even earlier as an open-source project. Thousands of applications
run on Tapestry, including high-throughput sites such as SeeSaw.com. Tapestry applications have a history of running glitch-free.

Tapestry is ... fun

Tapestry removes the tedium of developing web applications, leaving just the fun parts. Tapestry keeps you "in the zone", having fun and coding up a storm! Tapestry: code less deliver more!

More on Tapestry philosophy

Who is using Tapestry?


  • Wooki : Opensource collaboration app

  • Seesaw : Video streaming

  • No labels