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