You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Alfonso Quiroga <al...@gmail.com> on 2011/09/11 10:56:24 UTC

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-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: tapestry ready for production?

Posted by Steve Eynon <st...@googlemail.com>.
> But at the end I may warn you about Tapestry Magic.

Ha ha! :)  I'm with you all the way on that one! Nowadays, I tend to
write more Workers than I do pages! There's nothing that can't be
solved with a good Mixin and a bespoke Worker! (Actually I have a
question coming up about that...)


On 11 September 2011 19:43, Taha Hafeez <ta...@gmail.com> wrote:
> Sorry, iphone's send is too eager to send a mail...
>
> This is a question for which you are going to get a lot if responses.
> Here is mine
>
> On Sun, Sep 11, 2011 at 4:51 PM, Taha Tapestry <ta...@gmail.com> wrote:
>>
>>
>> On Sep 11, 2011, at 2:26 PM, Alfonso Quiroga <al...@gmail.com> wrote:
>>
>>> 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?
>>>
>
> I would say yes as I have upgraded one of our applications to 5.3 and
> it is better with more widgets, alerts, new ajax support. I am now
> working on moving our second application to 5.3
>
>>> 2) I'm NOT an expert in tapestry, and I know the "static structure, dynamic
>>> behavior" has some limits, which are this limits?
>>>
>
> The limits are there for developers who tend to think in terms of
> structs. If you use tapestry as a component based framework you will
> almost never notice these limits. At least I haven't (I can't say the
> same about Wicket).
>
>>> 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)
>>>
> I am not sure what you call easy. May be you haven't tried tapestry's
> ajax. I have worked with structs and nowadays I am working on a rails
> project and I can tell you ajax is a pain in these frameworks when you
> compare it with tapestry. Tapestry abstracts away a lot of your ajax
> and once you put them in a component you can just forget about the
> complexity of ajax.
>
>>> Thanks in advance,
>>>
>>> Alfonso
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>
>
> But at the end I may warn you about Tapestry Magic. It is an addiction
> and once you start using it you get lazy and are always searching for
> a way to make the framework do everything for you. You just want to
> write an annotation and a worker and say "Abrakadabra".. :)
>
>
> --
> Regards
>
> Taha Hafeez Siddiqi (tawus)
> http://tawus.wordpress.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

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


Re: tapestry ready for production?

Posted by Taha Hafeez <ta...@gmail.com>.
Sorry, iphone's send is too eager to send a mail...

This is a question for which you are going to get a lot if responses.
Here is mine

On Sun, Sep 11, 2011 at 4:51 PM, Taha Tapestry <ta...@gmail.com> wrote:
>
>
> On Sep 11, 2011, at 2:26 PM, Alfonso Quiroga <al...@gmail.com> wrote:
>
>> 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?
>>

I would say yes as I have upgraded one of our applications to 5.3 and
it is better with more widgets, alerts, new ajax support. I am now
working on moving our second application to 5.3

>> 2) I'm NOT an expert in tapestry, and I know the "static structure, dynamic
>> behavior" has some limits, which are this limits?
>>

The limits are there for developers who tend to think in terms of
structs. If you use tapestry as a component based framework you will
almost never notice these limits. At least I haven't (I can't say the
same about Wicket).

>> 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)
>>
I am not sure what you call easy. May be you haven't tried tapestry's
ajax. I have worked with structs and nowadays I am working on a rails
project and I can tell you ajax is a pain in these frameworks when you
compare it with tapestry. Tapestry abstracts away a lot of your ajax
and once you put them in a component you can just forget about the
complexity of ajax.

>> Thanks in advance,
>>
>> Alfonso
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>

But at the end I may warn you about Tapestry Magic. It is an addiction
and once you start using it you get lazy and are always searching for
a way to make the framework do everything for you. You just want to
write an annotation and a worker and say "Abrakadabra".. :)


-- 
Regards

Taha Hafeez Siddiqi (tawus)
http://tawus.wordpress.com

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


Re: tapestry ready for production?

Posted by Taha Tapestry <ta...@gmail.com>.
This is a question for which are are going to get a lot if responses. Here is mine

On Sep 11, 2011, at 2:26 PM, Alfonso Quiroga <al...@gmail.com> wrote:

> 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-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 

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


Re: tapestry ready for production?

Posted by Alfonso Quiroga <al...@gmail.com>.
Lenny, really thanks!! but I will be waiting an answer more detailed,
to the 3 questions I posted, thanks anyway!!

Alfonso

On Sun, Sep 11, 2011 at 6:01 AM, Lenny Primak <lp...@hope.nyc.ny.us> wrote:
> All I can say is that tapestry is 1000% better than struts.
>
> On Sep 11, 2011, at 4:56 AM, Alfonso Quiroga wrote:
>
>> 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-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

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


Re: tapestry ready for production?

Posted by Lenny Primak <lp...@hope.nyc.ny.us>.
All I can say is that tapestry is 1000% better than struts.

On Sep 11, 2011, at 4:56 AM, Alfonso Quiroga wrote:

> 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-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 


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


Re: tapestry ready for production?

Posted by Howard Lewis Ship <hl...@gmail.com>.
On Sun, Sep 11, 2011 at 7:28 AM, Bob Harner <bo...@gmail.com> wrote:
> On Sun, Sep 11, 2011 at 9:25 AM, Wechsung, Wulf <wu...@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:alfonsosebaq@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-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@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-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: tapestry ready for production?

Posted by Alfonso Quiroga <al...@gmail.com>.
François: really thanks for your answer, I'll check right now about
the production flag! Thanks again

2011/9/12 François Facon <fr...@atos.net>:
> 2011/9/12 Alfonso Quiroga <al...@gmail.com>:
>> Well, I think I'll go ahead with tapestry 5.2.5 (the last archetype
>> points to that version). I think developing in tapestry is very fast,
>> only one thing is making me doubt.. javascript. I like jQuery (I know
>> about http://tapestry5-jquery.com/) but I've tried it and I think it
>> is bloated, it even changes the default exception page.
>
> What do you mean by  "bloated"?
>
> the lib does not change the default exception page.
> tapestry5-jquery.com run in production mode I guess that's why  only
> the root exception message is displayed.
> see http://tapestry.apache.org/configuration.html#Configuration-tapestry.productionmode
> for more detail.
> By the way, If you find a bug, please feel free to open an issue on github.
>
>
>> So, I just want "default tapestry" but changing the js-core
>> (tapestry.js) 100% to jQuery. Someone already did this? If I reach
>> that, I can start developing my own components based on jQuery. If no
>> one did this, I can start it and post it.
>
> https://github.com/got5/tapestry5-jquery/blob/master/src/main/resources/org/got5/tapestry5/jquery/tapestry-jquery.js
>
> HTH
> François
>
>> Thanks in advance!
>>
>> On Sun, Sep 11, 2011 at 5:48 PM, Bob Harner <bo...@gmail.com> wrote:
>>> 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 <al...@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....@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 <wu...@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.wechsung@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:bobharner@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 <wu...@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:alfonsosebaq@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-unsubscribe@tapestry.apache.org
>>>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Regards,
>>>>> Muhammad Gelbana
>>>>> Java Developer
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

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


Re: tapestry ready for production?

Posted by François Facon <fr...@atos.net>.
2011/9/12 Alfonso Quiroga <al...@gmail.com>:
> Well, I think I'll go ahead with tapestry 5.2.5 (the last archetype
> points to that version). I think developing in tapestry is very fast,
> only one thing is making me doubt.. javascript. I like jQuery (I know
> about http://tapestry5-jquery.com/) but I've tried it and I think it
> is bloated, it even changes the default exception page.

What do you mean by  "bloated"?

the lib does not change the default exception page.
tapestry5-jquery.com run in production mode I guess that's why  only
the root exception message is displayed.
see http://tapestry.apache.org/configuration.html#Configuration-tapestry.productionmode
for more detail.
By the way, If you find a bug, please feel free to open an issue on github.


> So, I just want "default tapestry" but changing the js-core
> (tapestry.js) 100% to jQuery. Someone already did this? If I reach
> that, I can start developing my own components based on jQuery. If no
> one did this, I can start it and post it.

https://github.com/got5/tapestry5-jquery/blob/master/src/main/resources/org/got5/tapestry5/jquery/tapestry-jquery.js

HTH
François

> Thanks in advance!
>
> On Sun, Sep 11, 2011 at 5:48 PM, Bob Harner <bo...@gmail.com> wrote:
>> 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 <al...@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....@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 <wu...@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.wechsung@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:bobharner@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 <wu...@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:alfonsosebaq@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-unsubscribe@tapestry.apache.org
>>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>>
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Regards,
>>>> Muhammad Gelbana
>>>> Java Developer
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

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


Re: tapestry ready for production?

Posted by Michael Gentry <mg...@masslight.net>.
Hi Alfonso,

5.2.6 is actually the latest stable release.

mrg


On Sun, Sep 11, 2011 at 9:07 PM, Alfonso Quiroga <al...@gmail.com> wrote:
> Well, I think I'll go ahead with tapestry 5.2.5 (the last archetype
> points to that version).

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


Re: tapestry ready for production?

Posted by Alfonso Quiroga <al...@gmail.com>.
Well, I think I'll go ahead with tapestry 5.2.5 (the last archetype
points to that version). I think developing in tapestry is very fast,
only one thing is making me doubt.. javascript. I like jQuery (I know
about http://tapestry5-jquery.com/) but I've tried it and I think it
is bloated, it even changes the default exception page.

So, I just want "default tapestry" but changing the js-core
(tapestry.js) 100% to jQuery. Someone already did this? If I reach
that, I can start developing my own components based on jQuery. If no
one did this, I can start it and post it.

Thanks in advance!

On Sun, Sep 11, 2011 at 5:48 PM, Bob Harner <bo...@gmail.com> wrote:
> 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 <al...@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....@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 <wu...@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.wechsung@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:bobharner@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 <wu...@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:alfonsosebaq@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-unsubscribe@tapestry.apache.org
>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Regards,
>>> Muhammad Gelbana
>>> Java Developer
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

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


Re: tapestry ready for production?

Posted by Bob Harner <bo...@gmail.com>.
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 <al...@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....@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 <wu...@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.wechsung@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:bobharner@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 <wu...@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:alfonsosebaq@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-unsubscribe@tapestry.apache.org
>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>
>>
>>
>> --
>> Regards,
>> Muhammad Gelbana
>> Java Developer
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

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


Re: tapestry ready for production?

Posted by Alfonso Quiroga <al...@gmail.com>.
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....@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 <wu...@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.wechsung@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:bobharner@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 <wu...@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:alfonsosebaq@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-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
>
>
> --
> Regards,
> Muhammad Gelbana
> Java Developer
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

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


Re: tapestry ready for production?

Posted by Muhammad Gelbana <m....@gmail.com>.
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 <wu...@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.wechsung@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:bobharner@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 <wu...@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:alfonsosebaq@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-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>



-- 
Regards,
Muhammad Gelbana
Java Developer

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


RE: tapestry ready for production?

Posted by "Wechsung, Wulf" <wu...@sap.com>.
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.wechsung@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:bobharner@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 <wu...@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:alfonsosebaq@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-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

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


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


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


RE: tapestry ready for production?

Posted by "Wechsung, Wulf" <wu...@sap.com>.

> 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:bobharner@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 <wu...@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:alfonsosebaq@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-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

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


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


Re: tapestry ready for production?

Posted by Bob Harner <bo...@gmail.com>.
On Sun, Sep 11, 2011 at 9:25 AM, Wechsung, Wulf <wu...@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:alfonsosebaq@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-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

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


Re: tapestry ready for production?

Posted by Josh Canfield <jo...@gmail.com>.
> 1) Is tapestry 5.3 a good choice for a site, where 2 o 3 web
> developers will be developing?

It depend on who your "Web developers" are, their
capabilities/preferences. Some people will really love Tapestry and
some will not. Some people really need it to be X for them and get
frustrated when it's not. Not every framework will work for everyone.
Some people amazingly will prefer to try and write stuff from scratch
instead of using a framework at all!

Working together is going to depend on your teams ability to divide
and conquer the tasks. Like in any project it's going to be painful if
you have two people trying to concurrently edit the same
page/component etc.


> 2) I'm NOT an expert in tapestry, and I know the "static structure, dynamic
> behavior" has some limits, which are this limits?

Presumably you've read: http://tapestry.apache.org/principles.html

"Static Structure" means that you don't change the page's model at
runtime. You have to define the components you're going to use in the
template or pojo. I have never found this to be a limit in the work
that I've done.

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

Tapestry has a lot of ajax functionality built in. lt's evolving and
getting better. You are likely going to come across areas that require
you to built something custom. My advice is don't try to learn
tapestry's ajax architecture by trying to implement the most
complicated parts of your project first. Use tapestry source as a
guide. I don't find it hard to do this anymore, but I've been doing it
for a while now.


On Sun, Sep 11, 2011 at 6:25 AM, Wechsung, Wulf <wu...@sap.com> wrote:

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

This is all wrong. You get an instance of the component per occurrence
in the template. If you put your component in a loop then it only
exists in the model once but renders multiple times.

This is two instances of the component.
<t:pagelink t:id="pageone" .../>
<t:pagelink t:id="pagetwo" .../>


This is one instance of the component rendered 5 times.
<t:loop source="1...5">
<t:pagelink t:id="pagethree" .../>
</t:loop>

Josh

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


RE: tapestry ready for production?

Posted by "Wechsung, Wulf" <wu...@sap.com>.
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.

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.

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:alfonsosebaq@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-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


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


Re: tapestry ready for production?

Posted by Nicolas Barrera <nb...@gmail.com>.
Hi Alfonso,

you better build a small application and try out the frameworks you 're
evaluating...

if tapestry is production ready?, well yes no doubt... I 'm not sure if 5.3
is stable (i believe it was still in beta stage) but 5.2.x surely is.

I think you should build up your own thoughts by your self and testing many
frameworks with the same sample application and compare, as Josh said the
right framework depends on many things and many of them depends on the
context of your organization.


Just to help a bit, I will tell you that T5 is very simple to start using
and is very flexible to let you do weird (java magic as taha says) stuff...
obviously to do the second you need to understand the framework very well,
but for basic stuff including ajax support you don't need advanced
knowledge.

Lastly, as you mention struts2.. i 've to say that struts is an action based
framework, and tapestry (as many others like wicket for example) is a
component based framework... personally I would start by thinking which kind
of framework I would like to use, action driven or component driven... it's
kind of a more conceptual question you 've to answer first.

well, i hope my words were useful..,

cheers and good luck,

Nicolás.-


On Sun, Sep 11, 2011 at 5:56 AM, Alfonso Quiroga <al...@gmail.com>wrote:

> 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-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

Re: tapestry ready for production?

Posted by Steve Eynon <st...@googlemail.com>.
I understand there's always a lot of trepidation when thinking of
switching to a new framework.

> Tapestry ready for production?

The short answer is yes (T5.2 tidied up a lot of loose ends and really
brought the framework together).

1). Yes, that's an ideal size. I'm in an active team of about 5, but 2
or 3 of us are always working on the front end somewhere.

2). The only limit I was ever aware of was not being able to
dynamically load templates on the fly (say from the file system). But
I think there's a way to do that now in T5.3 - but it's not something
you're ever going to want to unless your developing some kind of
Portal Editor

3). There is already a fair bit of built in support for Ajax for a lot
of common scenarios (e.g. updating parts of the screen on clicks and
selects). It's not too difficult to hook in your own stuff either.

People come to Tapestry because they're looking for a web framework,
but it offers so much more than just that. I find the IoC far superior
to any of the rivals (Guice, Spring, etc...) Depending on what you're
developing, T5 is not just about pushing content to a browser, it's
about doing it an efficient and scalable way. Automatic JS and CSS
consolidation combined with GZIP compression is just the tip of the
ice-burg.

But in the end it comes down to how you develop; I find a lot of web
developers are happy enough cobbling pages together by means of
cut'n'pasting Spring examples from all over web and layering random
jQuery scripts on top. It's not my favourite approach, but it does
yield quick results and suits a lot of people.

Now, I dare say you can't develop the same way with Tapestry - for
it's a powerful "Framework" that allows you to do cool stuff. It is
not (currently) a library of 1000s of components that will do all the
work for you - but it is really easy to develop your own components
that do exactly what you want. When they say, "Code less, deliver
more" they really mean it. Any problem can typically be solved in a
few lines of code - you just have to think about it for a minute first
- which may not be everyone's cup of tea.

Tapestry is an event driven framework with (typically) 2 phases /
trips to the server per request - and this can confuse the
un-initiated. Then again, in a retrospective we had this week, one of
the new guys wrote up, "T5 - I get it now! It's Awesome!"

I left Struts years ago (after producing much commercial software for
it) and never looked back.

But you're on a Tapestry Forum, asking if Tapestry is any good -
you're not going to get a lot negative answers! All you can do is have
a play, ask questions and see what you think.

Have fun,

Steve.



On 11 September 2011 16:56, Alfonso Quiroga <al...@gmail.com> wrote:
> 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-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

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