> and nothing prevents you from having the same component multiple times on the > same page
Well, it can be rendered multiple times but the java object that is the component only exists once which means that any state isn't a parameter value is not contained in an instance of a component (as people could reasonably expect) but must be manually restored in setupRender etc. I'm not making a value judgment, I'm just stating that one should be aware of this. > In my opinion, Tapestry does an awesome job of abstracting away the > request/response cycle It's a lot better than doing servlets, that's for sure. Again, expectations matter. For example, I was very confused that if I have a component in a loop that takes the iteration variable as parameter, this parameter will be null if I trigger an action event that results in a partial page request. -----Original Message----- From: Bob Harner [mailto:bobhar...@gmail.com] Sent: Sonntag, 11. September 2011 16:29 To: Tapestry users Subject: Re: tapestry ready for production? 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 --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org