Entertaining in a weird way.

On Wed, Mar 16, 2011 at 6:19 AM, Howard Lewis Ship <[email protected]> wrote:

> Is this "discussion" serving any purpose?
>
> On Tue, Mar 15, 2011 at 9:23 PM, AlexSerov <[email protected]>
> wrote:
> > Hi!
> >
> > Apparently due to my mistake with formatting you could not read most
> > part of my mail. I have resubmitted later.
> >
> >> What you described is not correct to Tapestry page rendering. The DOM is
> >> recursive, but it's rendering is not.
> >
> > That is beyond my understanding, but I assume that is not urgent.
> >
> >> The component state is independent from the page.
> > Anyway that is a separate object.
> >
> >>> Each component entry in this case must have a separate class
> >>> instance to keep that state.
> >>
> >> Correct.
> >>
> >>> Different for different users.
> >
> > I mean that there are different state object for different users,
> > which is probabaly trivial.
> >
> >> Wrong. From a Howard blog post:
> >>
> >> "Tapestry 5.2 rewrites the rules here; only a single page tree is now
> >> needed for each page; the page and component classes have an extra
> >> transformation step that moves per-request data out of the objects
> >> themselves and into a per-thread Map object. Now, any number of requests
> >> can operate at the same time, without requiring additional page
> instances.
> >> Even better, the old page pooling mechanism included some locking and
> >> blocking that also gets jettisoned in the new approach. It's just a big
> >> win all around."
> >
> > Nothing to discuss if page is something independant from page state.
> > Reparing you own mistakes made at design time is a know way of moving
> > forward (big win). Compared to HybridJava that is about terminology.
> > In HybridJava one page instance is created per user. The state (of
> > course user-specific) is kept in that instance (so once one gets back
> > to the same page the previous state is by default still there). The
> > handler and renederer are static methods of same class, so there is no
> > direct analogy to what page is in instance. No DOM at all in
> > HybridJava, but of course, as you've explained DOM of the page is
> > build once that is fine.
> >
> >> In Tapestry 5.2, it's just a matter of not using the same per-thread Map
> >> instance again.
> >
> > I bet instances of Map are pretty redundant. By the way - recently got
> > to know that Play does not use Servlet inside - what about tapestry?
> >
> > ... seems you were not able to read starting from here ...
> >
> >>> Not sure what it does with instances of components. Seems like that
> means
> >>> that before each rendering (absolutely so when a different user hits)
> the
> >>> page with the component tree should be restored. As someone noticed it
> is
> >>> not 2000 now ans pooling objects is consigered by many as beeng spower
> >>> than
> >>> recreating by "new" with garbage collection. I asked not about
> rendering,
> >>> but about run-time of one page. I have a feeling that Tapestry has to
> >>> recreate (or re-obtain - does not matter) all the instances of
> components
> >>> anew?
> >>>
> >>>>> Finally - the user actions are passed in the form of "events" (so I
> >>>>> read). Does this process also imply creating some objects at Java
> >>>>> run-time?
> >>>
> >>>> Just the object containing the event context parameters, and just if
> the
> >>> event handler method has a List or EventContext object.
> >>>
> >>> That may be not a huge advantage, but HybridJava solves this task
> without
> >>> any objects.
> >>>
> >>>>> As a matter of fact HybridJava creates only one class instance that
> >>>>> carries the page model values and at the same time has the both the
> >>>>> render and  handle methods on it. Regardless of the number of buttons
> >>>>> and
> >>>>> text fields.
> >>>
> >>>> Same as Tapestry in this respect.
> >>> This does not match to what you told right above: "object containing"
> us
> >>> an
> >>> object, List is an object. Are "context parameters" and  "EventContext
> >>> object" objects as well?
> >>>
> >>>>> These measurements only have significance if they implement exactly
> the
> >>> same application or use cases.
> >>> That is what I say. If you do not like my tests do give me yours.
> >>>
> >>>>> SO, what about you choose a test that I implement using HybridJava
> (you
> >>>>> most probably already have that test implemented using Tapestry) and
> I
> >>>>> send you my test that you implement using Tapestry. That is a way
> that
> >>>>> will require minimum effort from anybody and the only practical.
> >>>
> >>>> Ok!
> >>>
> >>> Looking forward. If fact each of us already has tests implemented by
> his
> >>> own
> >>> framework.
> >>>
> >>>> I didn't say it was enough. I just cited one comparison
> >>> It is not enough because such researches are absolutely rare, not
> because
> >>> you said "enough".
> >>>
> >>>>> What matters is that it is a kind of redundant mechanism. I
> understand
> >>>>> that at some point it was borrowed from PHP.
> >>>
> >>>> It wasn't. And what do you mean by redundant?
> >>>
> >>> That means exactly that if you cut it off the documentation and from
> >>> implementation as well Tapestry will be same usable as before.
> >>>
> >>>> doesn't couple components. Tapestry's philosophy is to have the least
> >>>> coupling possible.
> >>> I am not strong in philosophy. There is no framework that does not
> claim
> >>> that it's philosophy isn't about minimization of coupling between
> >>> components
> >>> (on of which is the page).
> >>>
> >>> Here is a concrete example: suppose we have a component like chat. It
> has
> >>> its own buttons and text fields and does not depend on anything at all.
> >>> On
> >>> that page you probably have a component that defines the nice
> surrounding
> >>> common for all pages and a hole in the middle that you want to fill
> with
> >>> a
> >>> content. Suppose I want to put there 2 chat components.
> >>>
> >>> In HybridJava that will look like: . And that is it. No other
> >>> configuration
> >>> or mentioning the chat component in the some java code. The only
> >>> coupling of
> >>> the complnents here is their positioning on the page and one relative
> to
> >>> another which  is all solved by the means of mark-up and which seem
> being
> >>> minimal possible. And you may chat with two friends in parallel.
> >>>
> >>> How would similar example look in Tapestry? I ask because I did not go
> >>> into
> >>> Tapestry that deep yet.
> >>>
> >>>
> >>>
> >>> --
> >>> View this message in context:
> >>>
> >>>
> http://tapestry.1045711.n5.nabble.com/Re-HybridJava-vs-Tapestry-tp3555989p3751648.html
> >>> Sent from the Tapestry - Dev mailing list archive at Nabble.com.
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [hidden email]
> >>> For additional commands, e-mail: [hidden email]
> >>>
> >>
> >> --
> >> Thiago H. de Paula Figueiredo
> >> Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,
> >> and instructor
> >> Owner, Ars Machina Tecnologia da Informação Ltda.
> >> Consultor, desenvolvedor e instrutor em Java, Tapestry e Hibernate
> >> Coordenador e professor da Especialização em Engenharia de Software com
> >> Ênfase em Java da Faculdade Pitágoras
> >> http://www.arsmachina.com.br
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [hidden email]
> >> For additional commands, e-mail: [hidden email]
> >>
> >>
> >>
> >> ________________________________
> >> If you reply to this email, your message will be added to the discussion
> >> below:
> >>
> http://tapestry.1045711.n5.nabble.com/Re-HybridJava-vs-Tapestry-tp3555989p3753159.html
> >> To unsubscribe from Re: HybridJava vs. Tapestry, click here.
> >
> >
> > --
> > View this message in context:
> http://tapestry.1045711.n5.nabble.com/Re-HybridJava-vs-Tapestry-tp3555989p3756578.html
> > Sent from the Tapestry - Dev mailing list archive at Nabble.com.
>
>
>
> --
> 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: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to