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. > > 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). > > 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