The Tapestry javascript API uses the dojo packaging system to include both dojo and Tapestry javascript files on the fly.
This means that most of the API is broken up over a number of files that will be optionally included automatically - only when you need them. As an example, this is how you would import the Tapestry form related functions onto your page:
<script type="text/javascript">
dojo.require("tapestry.form");
tapestry.form.submit(dojo.byId("myform"));
</script>A very valid concern that a lot of users will worry about is the performance impact of including all of this JavaScript on their pages! This is still a very grey area that may change to meet real world needs as they come up, but the following is the current thinking behind this:
As mentioned previously, this area of Tapestry is not set in stone. The new move to maven2 has made doing snapshot updates of Tapestry very easy, so if/when issues are found/addressed people should be able to get updated versions pretty quickly.