tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r853616 - in /websites/production/tapestry/content: cache/main.pageCache tapestry-tutorial.html
Date Fri, 08 Mar 2013 12:20:42 GMT
Author: buildbot
Date: Fri Mar  8 12:20:42 2013
New Revision: 853616

Log:
Production update by buildbot for tapestry

Modified:
    websites/production/tapestry/content/cache/main.pageCache
    websites/production/tapestry/content/tapestry-tutorial.html

Modified: websites/production/tapestry/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/tapestry/content/tapestry-tutorial.html
==============================================================================
--- websites/production/tapestry/content/tapestry-tutorial.html (original)
+++ websites/production/tapestry/content/tapestry-tutorial.html Fri Mar  8 12:20:42 2013
@@ -66,11 +66,15 @@
         
                                             </td></tr><tr><td colspan="1"
rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="tapestry-tutorial.html">Tapestry Tutorial</a>
+                         <a shape="rect" href="getting-started.html">Getting Started</a>
         
                                             </td></tr><tr><td colspan="1"
rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="getting-started.html">Getting Started</a>
+                         <a shape="rect" href="tapestry-for-jsf-users.html">Tapestry
for JSF Users</a>
+        
+                                            </td></tr><tr><td colspan="1"
rowspan="1">
+                                 <span class="icon icon-page" title="Page">Page:</span>
+                         <a shape="rect" href="tapestry-tutorial.html">Tapestry Tutorial</a>
         
                                             </td></tr></table>
 </div> 
@@ -89,7 +93,7 @@
 
 <h1><a shape="rect" name="TapestryTutorial-TheChallengesofWebApplicationDevelopment"></a>The
Challenges of Web Application Development</h1>
 
-<p>If you're used to developing web applications using servlets and JSPs, or with Struts,
you are simply used to a lot of pain. So much pain, you may not even understand the dire situation
you are in! These are environments with no safety net; Struts and the Servlet API has no idea
how your application is structured, or how the different pieces fit together. Any URL can
be an action and any action can forward to any view (usually a JSP) to provide an HTML response
to the web browser. The pain is the unending series of small, yet important, decisions you
have to make as a developer (and communicate to the rest of your team). What are the naming
conventions for actions, for pages, for attributes stored in the HttpSession or HttpServletRequest?
Where do cross-cutting concerns such as database transactions, caching and security get implemented
(and do you have to cut-and-paste Java or XML to make it work?) How are your packages organized
... where to the user interface classes g
 o, and where do the data and entity objects go?  How do you share code from one part of your
application to another?</p>
+<p>If you're used to developing web applications using servlets and JSPs, or with Struts,
you are simply used to a lot of pain. So much pain, you may not even understand the dire situation
you are in! These are environments with no safety net; Struts and the Servlet API have no
idea how your application is structured, or how the different pieces fit together. Any URL
can be an action and any action can forward to any view (usually a JSP) to provide an HTML
response to the web browser. The pain is the unending series of small, yet important, decisions
you have to make as a developer (and communicate to the rest of your team). What are the naming
conventions for actions, for pages, for attributes stored in the HttpSession or HttpServletRequest?
Where do cross-cutting concerns such as database transactions, caching and security get implemented
(and do you have to cut-and-paste Java or XML to make it work?) How are your packages organized
... where to the user interface classes 
 go, and where do the data and entity objects go?  How do you share code from one part of
your application to another?</p>
 
 <p>On top of all that, the traditional approaches thrust something most unwanted in
your face: <em>multi-threaded coding</em>. Remember back to Object Oriented Programming
101 where an object was defined as a bundle of data and operations on that data? You have
to unlearn that lesson as soon as you build a traditional web application, because web applications
are multi-threaded. An application server could be handling dozens or hundreds of requests
from individual users, each in their own thread, and each sharing the exact same objects.
Suddenly, you can't store data inside an object (a servlet or a Struts Action) because whatever
data you store for one user will be instantly overwritten by some other user.</p>
 
@@ -105,9 +109,9 @@
 
 <p>As we'll see in the following pages, Tapestry lets you code in terms of your objects.
You'll barely see any Tapestry classes, outside of a few Java annotations. If you have information
to store, store it as fields of your classes, not inside the HttpServletRequest or HttpSession.
If you need some code to execute, it's just a simple annotation or method naming convention
to get Tapestry to invoke that method, at the right time, with the right data. The methods
don't even have to be public!</p>
 
-<p>Tapestry also shields you from the multi-threaded aspects of web application development.
Tapestry manages the life-cycles of your page and components objects, and manages the fields
of the pages and components in a thread-safe way. Your page and component classes always look
like simple, standard POJOs. </p>
+<p>Tapestry also shields you from most of the multi-threaded aspects of web application
development. Tapestry manages the life cycle of your page and components objects, and the
fields of the pages and components, in a thread-safe way. Your page and component classes
always look like simple, standard <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/Plain_Old_Java_Object"
>POJOs</a>. </p>
 
-<p>Tapestry began in January 2000, and now represents over ten years of experience
of the entire Tapestry community. Tapestry brings to the table all that experience about the
best ways to build scalable, maintainable, robust, internationalized (and more recently) Ajax-enabled
applications. Tapestry 5 represents a completely new code base designed to simplify the Tapestry
coding model while at the same time, extending the power of Tapestry and improving performance.</p>
+<p>Tapestry began in January 2000, and it now reflects over ten years of experience
of the entire Tapestry community. Tapestry brings to the table all that experience about the
best ways to build scalable, maintainable, robust, internationalized (and more recently) Ajax-enabled
applications. Tapestry 5 represents a completely new code base (compared to Tapestry 4) designed
to simplify the Tapestry coding model while at the same time extending the power of Tapestry
and improving performance.</p>
 
 <h1><a shape="rect" name="TapestryTutorial-GettingTheTutorialSource"></a>Getting
The Tutorial Source</h1>
 



Mime
View raw message