The "Tapestry5-jQuery" is an open sourced Tapestry 5 library from Atos WorldLine.
It aims to make it possible to replace the Prototype/Scriptaculous JS layer of Tapestry: all its components, mixins or any other JS interactions.
It also provided advanced UI component framework for easily integrating Ajax capabilities into business applications using Tapestry5

Tapestry 5 has a loose coupling on Prototype and Scriptaculous on a lot of points.
But there are some rooms where the coupling is very tight.
Current project version covers all Tapestry basic components and mixins.
The project was built having also in mind that the integration of this library should be as much as possible transparent for end user.
Whenever only JS layers of components where overriden in order to continue to use normal component declaration.

Project is hosted Github under the Got5 account.
Tapestry5-jquery is based on Tapestry 5.3, jQuery, jQuery UI or any plugins.

You still need to have PrototypeJS and the components originally included in tapestry ?

Tapestry5-jquery project allows you to choose whether to include or not Prototype (and original tapestry components).
jQuery will be added to the javascript stack in every case.
In your AppModule, contributeApplicationDefaults method, you can add `configuration.add(JQuerySymbolConstants.SUPPRESS_PROTOTYPE, "false");`

Note about jQuery

In traditional jQuery development, we are used to manipulate the `$` alias to select the elements we want to play with.
jQuery allows us to change this default alias (for compatibility with other js frameworks also using the `$` alias : like PrototypeJS, included in Tapestry, for example).
The tapestry5-jquery project has an option permitting you to customize this alias : in your AppModule, contributeApplicationDefaults method, you can add `configuration.add(JQuerySymbolConstants.JQUERY_ALIAS, "yourOwnAlias");`.
The default jquery alias is `$`.
By the way, if you've set the `JQuerySymbolConstants.SUPPRESS_PROTOTYPE` option to false, you may not use `$` to refer to jQuery, because `$` actually refers to Prototype.
Thus, you may want to change jQuery's alias in that particular case.
However, if you didn't change it, jQuery's alias will automatically be set to `$j`.