On Sat, Mar 29, 2008 at 2:44 AM, Andy Blower <[EMAIL PROTECTED]> wrote:
>
>  Hi there, I'm evaluating Tapestry (among others) for the web framework we'll
>  use at my company for the next 5 years or so. We've used Struts 1 for the
>  last 5-6 years and it's served us well, even if it was higher maintenance
>  than was first apparent. I have spent over two days reading about Tapestry
>  history and general thoughts about past and future which has proved rather
>  distracting. I'm really not sure whether I should evaluate 4.1 or 5 because
>  the documentation and intro/tutorial material isn't ready yet for 5 and I'm
>  completely new to component oriented frameworks. If I evaluated 4.1, would
>  that be valid for us still to go on to use 5? It's really hard to get a
>  handle on the differences of two things you don't yet understand!
>
>  I have three (more specific) questions:
>
>  1) What methods are known for implementing webpage templates in Tapestry
>  (e.g. banner, nav, sidebar, content, footer) and is there one considered
>  'best practice'?
>

The layout pattern is the best way to approach this class of problems:

http://tapestry.apache.org/tapestry5/tapestry-core/guide/layout.html

These kinds of layout components can be very smart and highly
adaptable via templates and other techniques.

>  2) How easy is it to add custom AJAX interactions? I'm thinking of
>  interactions like checking a checkbox to mark a search result, return
>  success and visually change the appearance.

Very easy, because Tapestry's makes it very easy to create a URL that
triggers an event within a specific component.  The component can
respond to the event via an event handler method,
and can easily communicate a response back to the client by returning
a stream, a JSON Object, or some rendered markup.

>
>  3) Is it practical to have base classes containing common functionality,
>  which are extended by very terse page classes along with actual page
>  templates or am I thinking about this wrong?

Yes, and Tapestry even has some support for JDK Generics for this
purpose.  However, I would caution not to go overboard with base
classes, when injection is *so* easy;  Common behavior can be factored
into IoC (Inversion of Control) services that can be injected directly
into component fields.  A relatively flat (1 - 2) level inheritance
hiearchy, with common code in injectable services, is much easier to
maintain.

>
>  With the only T5 examples being so trivial, it's really hard to get a bigger
>  picture view at the moment, but I am very intrigued.

And I here you, but the community is stepping up; please check the T5
home page and wiki with links to prototype applications, tutorials and
other examples.  And some very useful component libraries.

>  --
>  View this message in context: 
> http://www.nabble.com/-T5--Tapestry-evaluation-%2B-questions-tp16368331p16368331.html
>  Sent from the Tapestry - User mailing list archive at Nabble.com.
>
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  For additional commands, e-mail: [EMAIL PROTECTED]
>
>



-- 
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to