On Sun, Sep 11, 2011 at 7:28 AM, Bob Harner <bobhar...@gmail.com> wrote:
> On Sun, Sep 11, 2011 at 9:25 AM, Wechsung, Wulf <wulf.wechs...@sap.com> wrote:
>> Hello Alfonso,
>>
>> Disclaimer: I'm not very familiar with struts and faces because I refuse to 
>> use anything that relies on XML for more than initial configuration.
>>
>> So, t5. I will focus on things that I personally find less than ideal. I 
>> don't do this because I dislike tapestry ( I like it!) but I think for 
>> someone deciding on a framework it's important to know the full story.
>>
>> A lot of people will say that it's a component-oriented framework which is 
>> of course correct. However, tapestry has a very specific idea about what a 
>> component is and how they should behave.
>>
>> For one, components are basically singletons so you can never have the same 
>> component twice on the page. You can have it render twice with different 
>> parameters which can accomplish the same thing but makes it necessary to 
>> careful manage the components state.
>
> Actually, while components are indeed implemented as singletons (with
> their state coming from a per-thread map) in 5.2 and later, this is an
> internal implementation detail of Tapestry, and nothing prevents you
> from having the same component multiple times on the same page. I'm
> really puzzled by this statement.

A component with a template may not contain another instance of the
component within its template (directly, or within an intermediate
component template).

>
>>
>> T5 Components also do not abstract away the request / response / request 
>> cycle that is the bane of all web-developers. So, again, careful state 
>> management is necessary especially in cases where you have form-containing 
>> components in a loop.
>
> In my opinion, Tapestry does an awesome job of abstracting away the
> request/response cycle -- much better than any action-based framework.
> With sensible use of contexts and ValueEncoders, developers can really
> focus on manipulating objects rather than the encoding-to-text and
> decoding-to-objects process with each request. There are of course
> some sensible compromises so that Tapestry apps can remain lean and
> fast (e.g. avoiding storing everything in the HTTP session like JSF
> apps usually do).


Historically speaking, when Tapestry attempted to do more of this, it
caused a bigger problem especially for those who wanted real control
over their URLs, including bookmarkability.

>
>>
>> These things are not showstoppers by any means but until one has completely 
>> absorbed the t5 component model it can be painful to work with it. That of 
>> course is not a fault in tapestry's fault, it just a thing to look out for.
>>
>>
>> What I do think is a real problem is the lack of recursion in components. 
>> It's not possible to have a component contain itself even indirectly. There 
>> are workarounds for specific cases (I think t5.3 contains a dynamic tree 
>> component) but if you plan on doing anything that would require full 
>> component recursion you should consider carefully if you want to go ahead 
>> with using tapestry.
>>
>>
>> Now, don't misunderstand, I still think that tapestry is great, especially 
>> how easy ajax becomes. I also think that the framework itself is very stable 
>> and contains very few errors and runs quite fast. So, if you can work with 
>> the component model, yes, tapestry is absolutely ready for production.
>>
>> Kind Regards,
>> Wulf
>>
>>
>>
>> -----Original Message-----
>> From: Alfonso Quiroga [mailto:alfonsose...@gmail.com]
>> Sent: Sonntag, 11. September 2011 10:56
>> To: Tapestry users
>> Subject: tapestry ready for production?
>>
>> Hi! I've used tapestry 5.0 some time ago, in a small app at home. Now
>> in my work I've to decide which framework we will use for a state
>> application on internet.
>> I've a lot of experience with struts2, I can just choose that, but I
>> prefer the component model against the action model.
>>
>> 1) Is tapestry 5.3 a good choice for a site, where 2 o 3 web
>> developers will be developing?
>>
>> 2) I'm NOT an expert in tapestry, and I know the "static structure, dynamic
>> behavior" has some limits, which are this limits?
>>
>> 3) Finally, in the future, in my job I will need some widgets that
>> could use ajax, is hard to accomplish this? (in struts2 is really easy)
>>
>> Thanks in advance,
>>
>> Alfonso
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to