tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Tapestry > Introduction
Date Thu, 30 Dec 2010 22:03:00 GMT
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1810/9/12/_/styles/combined.css?spaceKey=TAPESTRY&amp;forWysiwyg=true"
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://cwiki.apache.org/confluence/display/TAPESTRY/Introduction">Introduction</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~joshcanfield">Josh
                         <h4>Changes (2)</h4>
<div id="page-diffs">
            <table class="diff" cellpadding="0" cellspacing="0">
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >A nightly build process on Tapestry&#39;s
continuous integration server creates new snapshots every night. <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >Snapshots don&#39;t go in
the central Maven repository (that&#39;s reserved for full releases). Instead, they go
into the Tapestry snapshots repository at <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">http://tapestry.formos.com/maven-snapshot-repository.</span>
<span class="diff-added-words"style="background-color: #dfd;">http://repository.apache.org/snapshots/.</span>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-changed-lines" >To access this repository, you
may add <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">{{-DremoteRepositories={nolink:http://tapestry.formos.com/maven-snapshot-repository}}}</span>
<span class="diff-added-words"style="background-color: #dfd;">{{-DremoteRepositories={nolink:http://repository.apache.org/snapshots/}}}</span>
to the command line when running Maven. <br></td></tr>
            <tr><td class="diff-unchanged" > <br>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. <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
</div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <div class='navmenu' style='float:right; background:#eee; margin:3px; padding:3px'><table
class="tableview" width="100%">
            <tr><th style="padding: 3px 3px 3px 0px">Related Articles</th></tr>
                                 <img src="/confluence/s/1810/9/_/images/icons/docs_16.gif"
height="16" width="16" border="0" align="absmiddle" title="Getting Started"/>
                         <a href="/confluence/display/TAPESTRY/Getting+Started">Getting
                                 <img src="/confluence/s/1810/9/_/images/icons/docs_16.gif"
height="16" width="16" border="0" align="absmiddle" title="Principles"/>
                         <a href="/confluence/display/TAPESTRY/Principles">Principles</a>
                                 <img src="/confluence/s/1810/9/_/images/icons/docs_16.gif"
height="16" width="16" border="0" align="absmiddle" title="Tapestry Tutorial"/>
                         <a href="/confluence/display/TAPESTRY/Tapestry+Tutorial">Tapestry
                                 <img src="/confluence/s/1810/9/_/images/icons/docs_16.gif"
height="16" width="16" border="0" align="absmiddle" title="Introduction"/>
                         <a href="/confluence/display/TAPESTRY/Introduction">Introduction</a>

<h2><a name="Introduction-WhatisApacheTapestry%3F"></a>What is Apache Tapestry?</h2>

<p>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.</p>

<p>Tapestry divides a web application into a set of pages, each constructed from components.
This provides a consistent structure, allowing the Tapestry framework to assume responsibility
for key concerns such as URL construction and dispatch, persistent state storage on the client
or on the server, user input validation, localization/internationalization, and exception
reporting. Developing Tapestry applications involves creating HTML templates using plain HTML,
and adding a small java class for each. In Tapestry, you create your application in terms
of objects, and the methods and properties of those objects &#8211; and specifically not
in terms of URLs and query parameters. Tapestry brings true object oriented development to
Java web applications.</p>

<p>Tapestry is specifically designed to make creating new components very easy, as this
is a routine approach when building applications.</p>

<p>Tapestry is architected to scale from tiny, single-page applications all the way
up to massive applications consisting of hundreds of individual pages, developed by large,
diverse teams. Tapestry easily integrates with any kind of backend, including JEE, Spring
and Hibernate.</p>

<p>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 change). 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, and because they know important features
(including localization) are baked right in. Once you work in Tapestry there's no going back!</p>

<p>Tapestry is released under the Apache Software Licence 2.0.</p>

<h2><a name="Introduction-NewAndOfNote"></a>New And Of Note</h2>

<p>Main Article: <a href="/confluence/display/TAPESTRY/Release+Notes" title="Release
Notes">Release Notes</a></p>

	<li>Tapestry now uses the Blackbird JavaScript console.</li>
	<li>Tapestry now automatically combines multiple JavaScript libraries into a single
	<li>An Ajax event request may now return a MultiZoneUpdate instance to update multiple
zones in the client web browser.</li>
	<li>Client-side numeric validation is now locale-sensitive.</li>
	<li>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.</li>
	<li>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).</li>
	<li>Tapestry Services can now be injected into Spring Beans, when using the Tapestry/Spring
integration library.</li>
	<li>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.</li>
	<li>Ordered and mapped configurations can now have overrides.</li>
	<li>Property expressions have been improved: You can now invoke methods with parameters,
or create a list (very useful for link contexts).</li>
	<li>IoC Service contributions may now be made in terms of classes (that are automatically
instantiated) as well as instances.</li>
	<li>A simpler method of overriding built-in services has been added.</li>

<h2><a name="Introduction-Roadmap"></a>Roadmap</h2>

<p>Version 5.2 has reached General Availability (stable) status, and developers are
working on features for a 5.3 snapshot.</p>

<p>The goal is to produce releases on a regular schedule, every 4 - 6 months.</p>

<p>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

<h2><a name="Introduction-ThirdPartyLibraries%2CTutorialsandResources"></a>Third
Party Libraries, Tutorials and Resources</h2>

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

<h2><a name="Introduction-AboutSnapshotsandReleases"></a>About Snapshots
and Releases</h2>

<p>Tapestry 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.</p>

<p>Better yet, you can pull down Tapestry modules from the central Maven repository.</p>

<p>The use of Maven has let us move with great speed, providing preview releases and

<p>Snapshots are intermediate versions of releases. As of this writing, the most recent
release is 5.2.4 and the current snapshots are for 5.3.0-SNAPSHOT. Maven keys off the -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.</p>

<p>A nightly build process on Tapestry's continuous integration server creates new snapshots
every night.</p>

<p>Snapshots don't go in the central Maven repository (that's reserved for full releases).
Instead, they go into the Tapestry snapshots repository at <a href="http://repository.apache.org/snapshots/"
class="external-link" rel="nofollow">http://repository.apache.org/snapshots/</a>.</p>

<p>To access this repository, you may add <tt>-DremoteRepositories=http://repository.apache.org/snapshots/</tt>
to the command line when running Maven.</p>

<p>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

<p>Documentation on this site usually refers to the latest snapshot ... that is, it
is usually ahead of the last official release. In some cases, it is written as if the snapshot
release is stable; if documentation refers to version 5.1.x.x and that doesn't work, try 5.1.x.x-SNAPSHOT.</p>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
        <a href="https://cwiki.apache.org/confluence/display/TAPESTRY/Introduction">View
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=23333653&revisedVersion=7&originalVersion=6">View

View raw message