If you haven't already done so, I recommend working through the
Tapestry Tutorial (http://tapestry.apache.org/tapestry-tutorial.html)
as the first step. You'll end up with a simple database-driven app
that you can continue to experiment with as you learn more.

On Sun, Sep 11, 2011 at 3:27 PM, Alfonso Quiroga <alfonsose...@gmail.com> wrote:
> Wow! thanks to everyone! I think I won't need recursion in the model
> (I hope so!), so I'll be doing some small app, if everything works
> fine, I'll choose tapestry5 for this project. Thanks again
>
> On Sun, Sep 11, 2011 at 2:01 PM, Muhammad Gelbana <m.gelb...@gmail.com> wrote:
>> I'm still not thorough with tapestry but I really love it. I think I
>> reached the point when you say "I get it now". In the past the docs
>> weren't clear enough for a beginner like me and I didn't actually
>> grasp the idea of tml files integration with java classes. But now I
>> do.
>>
>> Now the docs are FAR much better and very helpful. Although I think
>> they need a very simple push to be 100% useful for beginners and
>> professionals. Yet I don't find documentation for Javascript as good
>> as the docs for server-side tapestry (I mean docs about the Tapestry
>> namespace specially to tweak ajax calls for example). You won't
>> usually need it but in some cases you will. And then you will have to
>> send your question to the list...unless google suffices :)
>>
>> Components are inreasing, including 3rd party components and there are
>> plenty already.
>>
>> Taha has a VERY resourceful blog about tapestry: http://tawus.wordpress.com/
>> Geoff Callender is doing a marvelous job explaining tapestry by
>> example: http://jumpstart.doublenegative.com.au/home.html
>>
>> And there are many others..google won't let you down
>>
>> Just give your self some time to understand how it works...and you will love 
>> it.
>>
>> Tapestry...satisfaction guaranteed :D
>>
>> On Sun, Sep 11, 2011 at 5:48 PM, Wechsung, Wulf <wulf.wechs...@sap.com> 
>> wrote:
>>> Yeah, disregard my former mail, please. I'm completely wrong on that 
>>> component stuff as Josh pointed out.
>>> My confusion stems from how loops and components interact. Try this:
>>>
>>> Component class:
>>>
>>> public class Counter {
>>>
>>>    private int counter = 0;
>>>
>>>    public int getCounter() {
>>>        counter++;
>>>        return counter;
>>>    }
>>> }
>>>
>>> Component template:
>>> ${counter}
>>>
>>> Page template:
>>>
>>> <t:loop source="1..5">
>>>        <t:counter />
>>> </t:loop>
>>>
>>>        <t:counter />
>>>        <t:counter />
>>>        <t:counter />
>>>
>>> With t5.2.6 this results in: 1 2 3 4 5 1 1 1
>>>
>>> Apparently, I only use loops so I incorrectly inferred general component 
>>> behavior when the reason for that behavior is that within the loop it's 
>>> only one instance of the component.
>>>
>>> My apologies!
>>>
>>> Kind Regards,
>>> Wulf
>>>
>>>
>>> -----Original Message-----
>>> From: Wechsung, Wulf [mailto:wulf.wechs...@sap.com]
>>> Sent: Sonntag, 11. September 2011 17:18
>>> To: Tapestry users
>>> Subject: RE: tapestry ready for production?
>>>
>>>
>>>
>>>> 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
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>
>>>
>>
>>
>>
>> --
>> Regards,
>> Muhammad Gelbana
>> Java Developer
>>
>> ---------------------------------------------------------------------
>> 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

Reply via email to