Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


{
Div
Wiki Markup
style
float:right
titleRelated Articles
classaui-label
Content by Label
showLabelsfalse
showSpacefalse
titleRelated Articles
cqllabel = "new-users" and space = currentSpace()
|background=#eee} {contentbylabel:title=Related Articles|showLabels=false|showSpace=false|labels=new-users} {float}

What is Apache Tapestry?

Apache Tapestry is an open-source framework for creating dynamic, robust, highly scalable web applications in Java. Tapestry complements and builds upon the standard Java Servlet API, and so it works in any servlet container or application server.

...

It's more than what you can do with Tapestry ... it's also how you do it! Tapestry is a vastly productive environment. Java developers love it because they can make Java code changes and see them immediately ... no redeploy, no restart! And it's blazingly fast to boot (even when files changehave changed). Designers love it because Tapestry templates are so close to ordinary HTML, without all the cruft and confusion seen in JavaServer Pages. Managers love it because it makes it easy for large teams to work together productively, and because they know important features (including localization) are baked right in. Once you work in Tapestry there's no going back!

Tapestry is released under the Apache Software Licence License 2.0.

New And Of Note

Main Article: Release Notes

  • Tapestry now uses the Blackbird JavaScript console.
  • Tapestry now automatically combines multiple JavaScript libraries into a single request.
  • An Ajax event request may now return a MultiZoneUpdate instance to update multiple zones in the client web browser.
  • Client-side numeric validation is now locale-sensitive.
  • Some significant performance improvements over Tapestry 5.0.18: the time to initially load a page, and the time to render a page have decreased.
  • Tapestry IoC services can now be easily advised as well as decorated (both of these refer to Aspect Oriented Techniques applied to Tapestry IoC services).
  • Tapestry Services can now be injected into Spring Beans, when using the Tapestry/Spring integration library.
  • Tapestry now compresses responses for clients that support GZIP compression. Context and classpath assets are now handled uniformly: versioned URLs, far-future expiration headers, and GZIP compression where applicable.
  • Ordered and mapped configurations can now have overrides.
  • Property expressions have been improved: You can now invoke methods with parameters, or create a list (very useful for link contexts).
  • IoC Service contributions may now be made in terms of classes (that are automatically instantiated) as well as instances.
  • A simpler method of overriding built-in services has been added.

Roadmap

The 5.1 release is out and available now, work is finished on the imminent 5.2 release, and developers are beginning to focus on 5.3.

The goal is to produce such releases on a regular schedule, every 4 - 6 months.

High priorities for upcoming releases include Spring Web Flow integration, support for developing Tapestry applications as Portlets, a Javascript abstraction layer, removal of Javassist, IoC improvements, more add-on libraries and components, and improvements to documentation.

Third Party Libraries, Tutorials and Resources

A number of third party libraries, tutorials and resources are listed on the Tapestry Home page.

About Snapshots and Releases

Third Party Libraries, Tutorials and Resources

A number of third party libraries, tutorials and resources are listed on the Modules page.

About Releases and Snapshots

You can also pull down Tapestry modules in the form of binary and source JARs from the Maven Central repository.

Tapestry itself is built using GradleTapestry is built using Maven, which makes it really easy to download the source and build it yourself, either the whole project, or just one single module.

Better yet, you can pull down Tapestry modules from the central Maven repository.

The use of Maven and Gradle has let us move with great speed, providing preview releases and snapshots.

Snapshots are intermediate versions of releases. As of this writing, the most recent preview release is 5.0.2 and the current snapshots are for 5.0.3-SNAPSHOT. Maven keys off the , with "-SNAPSHOT" at the end of the version number. Maven notices that -SNAPSHOT suffix and handles the dependency specially. It knows that snapshot releases can change frequently, so it will keep checking (at least once a day, maybe more often) to see if there's an updated version of the snapshot.

...

Snapshots don't go in the Maven central Maven repository (that's reserved for full releases). Instead, they go into the Tapestry snapshots repository at httphttps://tapestryrepository.formos.com/maven-snapshot-repositoryImage Removedapache.org/content/groups/snapshots/org/apache/tapestry/.

To access this the snapshot repository, you may just add -DremoteRepositories=http://tapestryrepository.formosapache.com/maven-snapshot-repositoryorg/snapshots/ to the command line when running Maven.

Your best bet is to use the quickstart Maven archetype to create your initial Tapestry project; it generates a full project directory, including a POM that links to the Apache snapshots repository.

Documentation on this site usually sometimes refers to the latest snapshot ... that is, it is usually often ahead of the last official release, with version-specific differences clearly marked. In some cases, it is written as if the snapshot release is stable; . For example, if documentation refers to version 5.17.x .x and that doesnhasn't workbeen released yet, you can try 5.1.x7.x-SNAPSHOT.