Feedback on "Large scale app development MVP article" - Google Web Toolkit | Google Groups - 0 views
-
There are a few things that you should keep in mind before you try to understand the MVP pattern 1. You don't have reflection or observer/observable pattern on the client side. 2. Views depend on DOM and GWT UI Libraries, and are difficult to mock/emulate in a pure java test case Now, to answer some of your questions
Testing complex Widgets without interface ? - Google Web Toolkit | Google Groups - 0 views
-
Have a look at the Cell widgets' internals, they use MVP internally so the presenter can be tested independently from the views.
concerns on 2.1 MVP approach - Google Web Toolkit | Google Groups - 0 views
-
o summarize, here are some quotes: * It's extremely fast to build an initial scaffold (CRUD for all entities), but I'm not sure how easy it is to customize it for real world usage * When skimming the generated sources I saw A LOT of artifacts, which I don't feel comfortable with because it means that although "officially" my code is not coupled with Roo, if I were to drop it I would have to manage all these generated artifacts myself. * This expenses example is a nightmare to follow. The bindings/ wiring of all the pieces both client and server is nuts. * In M2, things have been cleaned up a bit
Nested Views in MVP - Google Web Toolkit | Google Groups - 0 views
-
Activities are more tied to the concept of Places than of MVP, i.e. navigation and user experience rather than code structure ("developer experience").
History and server call. - Google Web Toolkit | Google Groups - 0 views
-
First, though, I think you shouldn't call it MVP. In my opinion it seems that what you're doing is MVC where the model is helped out by RPC. There is already so much variety in the meanings of this (MVP, MVC, etc...), especially with Activities and Request Factory coming into the picture that terminology is becoming important. Not because I don't know what you're describing, but because someone new to the frameworks will get thoroughly confused.
Web Hook - Asynchronous - Where is my response? - Google App Engine for Java | Google G... - 0 views
-
There is no public API for checking the status of tasks. A task is really nothing more than a normal http request which is monitored by GAE to retry it if it fails. The real brains is in the task queue which is simply a queue of URL's that app engine will fire off at a given rate and retry failed requests. The only public method to check tasks (http requests) in this queue is the console webpage. Its up to you to monitor your tasks yourself by storing some kind of status data in memcache or the datastore.
GWT 2.1 Places & Activities - What changed between M3 and RC1 - tbroyer's posterous - 0 views
-
PlaceHistoryHandler has been split into a concrete PlaceHistoryHandler and the PlaceHistoryMapper interface, which you're free to implement yourself or use as before, giving your sub-interface to GWT.create() so that it generates the implementation from the @WithTokenizers annotation (and/or factory if you're using PlaceHistoryMapperWithFactory); this approach is similar to the ActivityManager vs. ActivityMapper, with the added generator for the mapper based on PlaceTokenizers and @Prefix.
-
Activity.Display now is com.google.gwt.user.client.ui.AcceptsOneWidget, which is implemented by SimplePanel (showActivityWidget is thus renamed as setWidget). IsWidget has been moved to com.google.gwt.user.client.ui and is now implemented by Widget (which returns itself); this means that if your view classes extends Widget (most views extend it through Composite) you no longer have to implement the asWidget method. In addition, all widgets now accept IsWidget as argument where they already accepted Widget.
gwt-platform - Project Hosting on Google Code - 0 views
-
Moreover, GWTP strives to use the event bus in a clear and efficient way. Events are used to decouple loosely related objects, while direct method invocation is used to clarify the program flow between strongly coupled components. The result is an application that is easy to understand and that can grow with time.
GWT 2.1 and Place with token - Google Web Toolkit | Google Groups - 0 views
-
often your places are "parameterized", think of a detail/edit screen for example that needs the model's id. The token is a generic way to provide additional information (via the URL) to the place (i.e. the activity/-ies), i.e. "#editFoo:42". You can of course re-use one place to dispatch to several activities based on the token. See the (currently not used) for ProxyPlace and ProxyListPlace in the Expenses sample for an example.
GWT MVP - Google Web Toolkit | Google Groups - 0 views
-
For your convenience, here is the net of it. With MVC, the model is thick with business rules and glue code to a data access layer. The view has lots of dependencies on the model. The controller is usually a framework component driven by some kind of configuration, usually XML based. With MVP, the model is lightweight POJOs. The view is mockable. It is the presenter that is heavy with glue code and business rules. The thinking here is that MVP is more suited for TDD than MVC. Another notable feature of MVP in GWT apps is the use of an event bus instead of hard coded event handler dependencies. Typically, that event bus is implemented as either the HandlerManager from GWT itself or the PropertyChangeSupport class from the GWTx library.
new GWT MVP article (part 2) - Google Web Toolkit | Google Groups - 0 views
-
In our app, in effect, each "parent presenter" also plays the role of "app controller"; but because we have the presenter/view dichotomy, the view exposes setSomeWidget(...) methods that the presenter calls; e.g. setHeader(...), setBody(...), setFooter(...).
-
> 3- what do you think of "presenter.go(container)" ? We do it the other way around: our presenters have a getView() method and the parent calls container.add((Widget) child.getView()). This is actually split between the presenter and the view, see above: view.setHeader(childPresenter.getView()) in the presenter, and containerWidget.add((Widget) child) in the view. The only "issue" with presenter.go(container) is that container must be a "simple" container, which means that when it's meant to be a dock (layout) panel, tab panel, or some other complex panel (or an absolute panel and you want to add with coordinates), you actually have to add a SimplePanel first and pass it as the "container" to the go() method. Otherwise, I can't see a problem with presenter.go(container).
-
navigation/ > history token inside multiple IF statements ? I'm using a very similar approach as the one in bikeshed: http://code.google.com/p/google-web-toolkit/source/browse/trunk/bikes...
new GWT MVP article (part 2) - Google Web Toolkit | Google Groups - 0 views
-
> 2- when google wants to address problem of Nested/Layered presenters ? > header/body/footer, and body having its own dockpanellayout structure. We use the technique described in part II. Composite views are responsible for instantiating their own children, and making them available for the parallel composite presenters.
-
If you're referring to the ColumnDefinitions, we know they'll scale. One, it requires minimal widget overhead and is fast. No more embedding hundreds of widgets within a table. Two, it's extensible, and testable. As your model grows, your ColumnDefinitions grow, not your views. ColumnDefinitions are quite trivial, the bulk of the code dedicated to generating HTML, and don't require a GwtTestCase.
new GWT MVP article (part 2) - Google Web Toolkit | Google Groups - 0 views
-
originally the MVP pattern was design for separating the view from its logic and the model it is displaying (as the MVC). Since the arriving of UIBinder I found the word View misused. Actually, strictly speaking the View is contained in the ui.xml file and the "Controller" is the corresponding java file which is implementing the corresponding logic and instanciation. This file merely represents a kind of Controller. The Presenter used in this tutorial is (for me) nothing more than a ControllerProvider which enable the ability to provide differents implementations of the view logic. What I'm founding strange is the fact that their are using the same acronym (MVP) for two differents approaches : - first one was Presenter centered as the abstraction was done on Display and aggregation were done against the presenter - second one was Display AND Presenter centered as the abstraction is done on Presenter and Display the both referencing each other. But this approach is mainly due to the fact that UIBinder is removing a lot of boiler plate code from event handling (and first MVP tutorial was not using it), but in the same way UIBinder tends people to adapt the original MVP pattern to be able to use all its power ! That why there is so much reflexion to mix UIBinder and MVP together.
Configuration - Gilead - 0 views
-
The PersistenceBeanManager class is the root class of Gilead. It is responsible to clone and merge persistent entities.
Ray Ryan, best practices and embracing asynchronicity - Google Web Toolkit | Google Groups - 0 views
-
go with the asynch flow
-
object graphs should be avoided and domain objects should really just contain ids of their related objects. In the case of lists, this is to avoid sending too much useless info over the wire.
« First
‹ Previous
41 - 60
Next ›
Last »
Showing 20▼ items per page