blob: d975672995b176f2476b6bcd2941d8538abdc7fc [file] [log] [blame]
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- $Id$ -->
<!-- $Id$ -->
<html>
<head>
<base target="_top">
<link rel="STYLESHEET" type="text/css" href="scripts/style_virtlib_pcIE55.css">
</head>
<script language="javascript" src="scripts/PracticalBrowserSniffer.js"></script>
<script language="javascript">
<!--
var quotex = 0;
var maxquotex = 9;
var quote = new Array();
quote[0] = "Tapestry reconceptualizes web application development in terms of objects, methods and properties instead of URLs and query parameters.";
quote[1] = "Tapestry's flexibility along with its clean object-oriented architecture made our web interface shine.";
quote[2] = "It's the most exciting model in Java web development I've seen in a long time.";
quote[3] = "Tapestry is the best solution to the presentation tier ...";
quote[4] = "We are able to publish any kind of our metadata-driven business objects with just a handful of generic, highly dynamic pages, using customizable components.";
quote[5] = "The amount of code I am having to write is greatly reduced and I am achieving a much greater level of reuse.";
quote[6] = "We've got a significant increase in productivity, we've got increased quality, we've got happy web designers, and we've put an end to the repetitive operations -- it would be hard to think of a better scenario.";
quote[7] = "... one can build incredibly complex Web applications quickly and easily, and yet be assured that those applications are of a very high quality.";
quote[8] = "The perfect separation of roles was what drew me to Tapestry ... the rest of the things (and there are a lot of them) were the iceing on the cake.";
quote[9] = "Tapestry frags the snot out of frameworks like JSF, Struts, and the like";
function rotate_quote()
{
if (++quotex > maxquotex)
quotex = 0;
var newQuote = quote[quotex];
var element = document.getElementById("quotecontainer");
element.innerHTML = newQuote;
window.setTimeout("rotate_quote()", 1000 * .05 * newQuote.length);
}
// This can't be done in nn4
function body_onload()
{
if (navigator.family != "nn4")
window.setTimeout("rotate_quote()", 2000);
}
// -->
</script>
<body bgcolor="#839cd1" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="javascript:body_onload();">
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td valign="top" align="left"><IMG height=44 alt="[Tapestry Logo]" src ="images/ico_t.gif" width=44 align=absMiddle border=0 >&nbsp;<IMG height=22 alt=Tapestry src="images/hd_tapestry.gif" width=100 align=absMiddle vspace=17 border=0>
<br><br>Tapestry is a powerful, open-source, all-Java framework for creating leading edge
web applications in Java.
<p></p><div class="right-side-quote">
”<span id="quotecontainer">Tapestry reconceptualizes web application development
in terms of objects, methods and properties
instead of URLs and query parameters.</span>”
<p><A href="quotes_frame.html" target=_top>More Quotes ...</a></p>
</div>Tapestry is an alternative to
scripting environments such as
JavaServer Pages or Velocity. Tapestry goes far further,
providing a complete framework for
creating extremely dynamic applications
with minimal amounts of coding.
<p>Tapestry's approach, using a
component object model similar to a
traditional GUI, provides
the following benefits:</p>
<ul>
<li>Very high level of reuse, within and between projects<br>
<i>Everything in Tapestry is a reusable component</i>
<li>Frees developers from writing boring, buggy code<br>
<i>Code in terms of objects, methods&nbsp;and properties, not URLs and query parameters</i>
<li>Allows applications' complexity&nbsp;to scale well<br>
<i>Framework does all the URL building and message dispatching, transparently</i>
<li>Easy Internationalization/Localization<br>
<i>Framework selects localized version of text, templates and images</i>
<li>Extremely robust applications<br>
<i>Less code is less bugs;
plus sophisticated built-in exception reporting and other
developer tools built in</i>
<li>Easy team integration<br>
<i>Graphic designers and Java developers
can work together without having
to know each other's jobs</i></li>
</ul>
<p>Tapestry may be downloaded from
<a href="http://sf.net/projects/tapestry">SourceForge</a>. Tapestry is
distributed under the terms of the Apache Software License.
<p>Tapestry exploits the dynamic nature of the Java language, leveraging the JavaBeans API, as well
as servlets and other J2EE technology. Tapestry applications are fast, scalable, robust and powerful.
<p>Tapestry components are a combination of a
specification file (in XML), an HTML template and a Java class
(extending a framework class, with simple additions). Tapestry components
are combined together to form larger components or complete Tapestry
pages.
<p>The Tapestry project began in January, 2000.
It was released onto <a target="_top" href="http://sf.net/projects/tapestry">SourceForge</a> in July, 2000.
Release 1.0.0
occured in May, 2001 and Release 2.0.0 in April, 2002.</p>
<p>Tapestry moved to <a href="http://jakarta.apache.org">The Jakarta Project</a> in January, 2003.
<p>Tapestry has been described in the print journal
<b>The Java Report</b> in the September 2001 issue. Other articles
includes the on-line journal <a target="_top" href="http://www.onjava.com/pub/a/onjava/2001/11/21/tapestry.html">OnJava</a>, in November 2001.
<p>
Tapestry has a very active <a target="_top" href="http://lists.sourceforge.net/lists/listinfo/tapestry-developer">Developer Mailing List</a>
(with complete <a target="_top" href="http://sourceforge.net/mailarchive/forum.php?forum_id=7644">archives</a>).
<p>
A <A href="wiki_frame.html" target=_top>Wiki</a> has been set
up to discuss Tapestry and plan new features.</p>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#8e9cd1">
<td>&nbsp;
</td>
</tr>
<tr bgcolor="#4b5887">
<td height="47">
<table width="790" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="359">&nbsp;
</td>
<td width="431"><a href="http:/jakarta.apache.org"><img src="images/jakarta-banner.png" border="0" alt="Jakarta Banner"></a>
</td>
</tr>
</table>
</td>
</tr>
<tr bgcolor="#333333">
<td height="65">
<table width="724" border="0" cellspacing="0" cellpadding="3" bgcolor="#000000">
<tr height="65">
<td width="654" align="right" valign="bottom" class="clsFooter">&copy; 2003 Apache Software Foundation.
All rights reserved.
</td>
<td width="70">&nbsp;
</td>
</tr>
</table>
</td>
</tr>
<tr bgcolor="#333333">
<td>
<table width="724" border="0" cellspacing="0" cellpadding="3" bgcolor="#000000">
<tr height="65">
<td height="200" width="654">&nbsp;
</td>
<td width="70">&nbsp;
</td>
</tr>
</table>
</td>
</tr>
</table><!-- ****END FOOTER**** -->
</body>
</html>