Tuesday, December 27, 2011

Best MVP Pattern for iPhone-like Navigation, with top level Tab-Bar?

I am starting a new GWT app where I want to use best practices and MVP
(model view presenter). I want to duplicate the functionality in a
native app that has both iPhone and iPad versions. What is the best
way to apply MVP, Activities, and Places to achieve this?

My UI will be structured like this:

1. In the iPhone app -- I have a tab-bar along the bottom that stays
on the screen at all times. Above that is a Table where I can pick
rows and drill down a level. Above the table is a navigation bar that
allows me to navigate back up the table selection hierarchy (i.e. a
standard iPhone-like navigation bar).

2. In the iPad app, the UI is more complicated. Not only do I have a
bottom tab-bar that stays on the screen at all times, but in the main
content area I have 4 different tables (one in each quadrant) that all
contain tables with navigation-bars above them, and each table can
drill down into its own child content.

My question is, what is the best/proper way to manage all of this
navigation with a set of reusable widgets/views and presenters. Do I
make all of the display regions correspond to one ActivityManager/
AcivityMapper, and then have a global ActivityManager/ActivityMapper
for the application shell w/tab-bar? Are each of these screen
quadrants then made up of different Activities (one for each level of
the table drill down)?

Or, do I have one single Activity that manages a set of child
Presenters that know how to manage navigation for themselves?

I know there are MVP frameworks out there like GWTP and MVP4G, but I
would like to know how to solve this problem with the standard Google
MVP patterns and Activities & Places. But if someone can highly
recommend GWTP and MVP4G to show that this particular use-case is
directly supported, I may consider switching to use one of those
frameworks.

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