Friday, July 1, 2011

Re: Very confusing aspect of MVP documentation!

To reiterate, GWT does not have a "native" MVP framework. Activities and Places are not directly related to MVP. The documentation is misleading on this point and, as David said, they're working on correcting that.

Some things to keep in mind:

1. MVP is a pattern. How that pattern is applied depends on the context of the problem.

2. Some techniques for applying MVP to GWT applications are described in the "LSAD and MVP, Part I" and "LSAD and MVP, Part II" articles.

3. Frameworks have been built to aid developers in applying MVP based on these techniques (though the introduction of a framework affects the context, which leads to multiple possible interpretations, hence multiple frameworks).

I'd suggest approaching MVP in this order. This is basically what Russ described doing, which ultimately led him to using GWTP. A good place to start is Ray Ryan's talk from Google I/O 2009.


-- Brian


On Fri, Jul 1, 2011 at 9:14 AM, cri <chuck.irvine.ks@gmail.com> wrote:
I would imagine that GWT-Platform is better than GWT's native MVP (by
which I mean Activities/Places/ActivityMapper), otherwise it probably
wouldn't exist. The problem I have is that GWT-Platform isn't
supported by Google while their MVP is. Maybe GWT MVP isn't entirely
sufficient but it has worked well for us. It's not unreasonable to
assume that Google will enhance it in the future. What happens then
for development shops that have migrated to GWT-Platform and they are
tempted to switch back? They have existing code that uses another
framework and developers that are used to the non standard package.
Messy right?

On Jul 1, 4:00 am, Russ <10wattmindt...@gmail.com> wrote:
> What I did was read through the MVP articles 1 & 2, read about the Activity
> and Places approach, tried coding a bit to get more familiar with the
> terminology and then started using GWT-Platform. With the new plugin it
> simplifies all of the cruft and confusion that is MVP..
>
>
>
>
>
>
>
>
>
> On Thu, Jun 30, 2011 at 8:02 PM, cri <chuck.irvine...@gmail.com> wrote:
> > Hmmmmmm.... Well, part of this is semantics I think. What exactly
> > constitutes MVP is the question. But regardless of that, it is true:
>
> > 1) That one can use the combination of Views, ClientFactory,
> > Activities, Places, PlaceHistoryMapper, and ActivityMapper as
> > described at
> >http://code.google.com/webtoolkit/doc/latest/DevGuideMvpActivitiesAnd...
> > to organize and automate Activity/View transition. We've done this on
> > several projects and have more in the pipeline.
>
> > 2) The concepts/methods/classes described in the Part I and II
> > articles seem more manual and labor intensive and, though similar in
> > concept, are distinctly different in their detailed approach compared
> > to the above. We tried both with multiple real world projects and View/
> > Activities/Places/ActivityMapper/etc we've found to be superior.
> > Interestingly, we really not used them at all for history management.
>
> > 3) One might argue that one is better than the other I guess but to
> > present them both, side by side, is just plain confusing to your user
> > base.
>
> > On Jun 30, 5:10 pm, David Chandler <drfibona...@google.com> wrote:
> > > Hi cri,
>
> > > Thanks for pointing this out. Ironically, I added that note along with
> > other
> > > changes just a few days ago in order to try to decouple MVP from
> > Activities
> > > and Places. The GWT team, including Ray Ryan, doesn't think of Activities
> > > and Places as an MVP framework. It's a way to manage browser history and
> > > provides no base classes for presenters or views. MVP proper, as we're
> > > currently defining it, is not concerned with browser history management.
> > Ray
> > > Ryan's talk in 09 and the previous MVP articles mentioned these concepts
> > > together, but they are not necessarily coupled, and we're trying to
> > reflect
> > > that in the docs going forward.
>
> > > At any rate, I hadn't noticed that the prior MVP articles discuss browser
> > > history management and I can see how this would lead you down the wrong
> > > path. We're working on updated versions, but in the mean time, I'll add
> > > notes to the history management sections pointing forward to Activities
> > and
> > > Places instead.
>
> > > Thanks again,
> > > /dmc
>
> > > On Thu, Jun 30, 2011 at 4:43 PM, cri <chuck.irvine...@gmail.com> wrote:
> > > > I can only say that we've been very happy with the framework described
> > > > at
> > > >http://code.google.com/webtoolkit/doc/latest/DevGuideMvpActivitiesAnd.
> > ..
> > > > ,
> > > > aside from the issue I mentioned in my original post.
>
> > > > Regarding database access and login/logout - those seem separate from
> > > > MVP really.
>
> > > > On Jun 30, 3:35 pm, Xybrek <xyb...@gmail.com> wrote:
> > > > > On Friday, 01 July, 2011 04:13 AM, cri wrote:
> > > > > > If you go tohttp://
> > > > code.google.com/webtoolkit/doc/latest/DevGuideMvpActivitiesAnd...,
> > > > > > you'll see the note:
>
> > > > > > ******************
> > > > > > Strictly speaking, MVP architecture is not concerned with browser
> > > > > > history management, but Activities and Places may be used with MVP
> > > > > > development as shown in this article. If you're not familiar with
> > MVP,
> > > > > > you may want to read these articles first:
>
> > > > > >      Large scale application development and MVP, Part I
> > > > > >      Large scale application development and MVP, Part II
> > > > > > ******************
>
> > > > > > This has sent two of our development teams off in the wrong
> > direction.
> > > > > > I would be willing to venture that it has confused others as well.
>
> > > > > > The problem is that folks go into the Part I and II articles and
> > > > > > assume that GWT's MVP framework is being described and they go off
> > and
> > > > > > duplicate it. But these articles don't describe GWT's *current* MVP
> > > > > > framework. Instead, the articles describe an approach to MVP that
> > > > > > preceded GWT official support.
>
> > > > > > Personally, I think that the reference to these articles should be
> > > > > > removed from the MVP documentation pages so folks won't go merrily
> > > > > > down the wrong path as others have.
>
> > > > > What is the best MVP we can use with GWT? I am currently looking for
> > > > > some lightweight MVP framework with some samples that will give me
> > the
> > > > > scaffoldings. With the connection to a database, through the RPC. I
> > am
> > > > > also trying to understand how login-logout fits the MVP scenario and
> > how
> > > > > when user is "logged in" the view is updated as data is modified in
> > the
> > > > > database. I cannot see any example having a RPC service which
> > connects
> > > > > to database, say through hibernate. - Xybrek
>
> > > > --
> > > > You received this message because you are subscribed to the Google
> > Groups
> > > > "Google Web Toolkit" group.
> > > > To post to this group, send email to
> > google-web-toolkit@googlegroups.com.
> > > > To unsubscribe from this group, send email to
> > > > google-web-toolkit+unsubscribe@googlegroups.com.
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/google-web-toolkit?hl=en.
>
> > > --
> > > David Chandler
> > > Developer Programs Engineer, GWT+GAE
> > > w:http://code.google.com/
> > > b:http://googlewebtoolkit.blogspot.com/
> > > t: @googledevtools
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google Web Toolkit" group.
> > To post to this group, send email to google-web-toolkit@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-web-toolkit+unsubscribe@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/google-web-toolkit?hl=en.
>
> --
> Which would you rather believe in: A God that never answers you or a society
> that embraces you?

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.


--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

No comments:

Post a Comment