| <!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 > <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 and properties, not URLs and query parameters</i> |
| |
| <li>Allows applications' complexity 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> |
| </td> |
| </tr> |
| <tr bgcolor="#4b5887"> |
| <td height="47"> |
| <table width="790" border="0" cellspacing="0" cellpadding="0"> |
| <tr> |
| <td width="359"> |
| </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">© 2003 Apache Software Foundation. |
| All rights reserved. |
| </td> |
| <td width="70"> |
| </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"> |
| </td> |
| <td width="70"> |
| </td> |
| </tr> |
| </table> |
| </td> |
| </tr> |
| </table><!-- ****END FOOTER**** --> |
| </body> |
| </html> |