I consider myself a pure mvp developer. But no without a reason...
Every time that I said... "I will break to pattern here, it will get
simpler.." I end up with shitty implementations.. and when I go back a
re-write them with mvp.. *WHOALA!*, the code gets simpler and finally makes
sense.
So I decided to stop trying to break the pattern and find a way to simplify
it. Thats Guit.
The $ convention is all over the place :) ... using generated setters solve
to problem of maintaining the view, and it gets really easy to write
"view.button$setText("Do not click!");" in your presenter and let eclipse
create the method for you...
Anyway, I am planning to solve the type-safe problem with a plugin for
eclipse.
I already wrote a validation plugin for EventBusHandlers and
ViewHandlers...
@ViewHandler
public void button$click() { // If the view doesn't have a "button" field it
gives if an alert
}
But the validation plugin worked with the old version of the framework, any
time soon I will update it to work with the current one, and also add
validation for GuitView setters.
The plugin also have wizard for: Event/Handler, Action/Response/Handler and
Presenter/View/ViewUiBinder/GinModule. I will release it as soon as
possible...I am missing it myself.. still Guit error messages are great, but
you need to Refresh the browser, Re-Run your test or compile to get them...
2010/8/24 Christian Goudreau <[email protected]>
> What a shame, I didn't read everything... Just saw your example, I really
> don't like that naming convention of yours :D I would prefer something more
> type safe that doesn't involve long named fonctions separated with $ to
> access something.
>
> Cheers,
>
> On Tue, Aug 24, 2010 at 10:50 AM, Christian Goudreau <
> [email protected]> wrote:
>
>> I believe is good to have 2 frameworks instead of one... competition leads
>>> to great things..
>>
>> I agree with that point :D
>>
>> I will love to hear your opinion on this:
>>> http://code.google.com/p/guit/wiki/GuitViewDesign
>>
>> Already took a loot, well first note, I'm not a conventional MVP user and
>> don't take my arguments as if I wanted to be one :D I'm more a MVP part 2
>> like explained in the GWT page. Since you've done a good job to automate the
>> event process between the view and the presenter, what will follow will
>> probably not apply to your framework. No need for your binder class if you
>> do MVP part 2 :D No custom annotation needed too and also no need to learn
>> anything but what GWT already offer in that case.
>>
>> I think that when GWT introduced UiBinder, the already gave us a passive
>> view that does nothing rendering our implementation of the MVP pattern a
>> little bit more complexe since we had to pass everything from another
>> passive view to the presenter. That's why, I'm giving a little more work to
>> my "views" that apply to simple local task that isn't relevant to the
>> presenter, thus simplifying my code and making it more easy to understand
>> and more easy to read. Yes I have to test it, but I have simple test to
>> write that I would have wrote inside my presenters anyway. Now I have a
>> clear distinction between what's relevant to my app and what's relevant only
>> to my view. You may disagree with me, but I ripped around 15 % lines of code
>> in my apps by doing this.
>>
>> What's your going to do will disallow that, while not being a bad thing if
>> you really have two passive view (view and view.ui.xml), but wouldn't be
>> enough for that pattern that I now love :D
>>
>> Then another big question, how this will work with UiBinder for custom
>> widgets that you'll make ? Yeah well, I think we fall back to old ways
>> without any presenter associated.
>>
>> Anyway, I'm more a doer than a thinker, so I'll let anyone else elaborate
>> on the subject :D (Philippe Beaudoin is the brain behind Gwt-Platform :D)
>>
>> Cheers,
>>
>> On Tue, Aug 24, 2010 at 10:25 AM, Gal Dolber <[email protected]>wrote:
>>
>>> Hi Christian!
>>>
>>> I will love to join forces to have one great framework, but the truth is
>>> that Guit started a year ago as the infrastructure for a project I am about
>>> to finish right now. The funny part is that I also started looking at the
>>> code of gwt-presenter and mvp4g.
>>>
>>> I believe is good to have 2 frameworks instead of one... competition
>>> leads to great things..
>>>
>>> Now, about the Async places, if you annotate the Presenter's Place with
>>> RunAsync your place automatically gets splitted (
>>> http://code.google.com/p/guit/wiki/PlaceManager , at the bottom).
>>>
>>> Also, one important thing about Guit is that all that generated code that
>>> it produces is the same that you will hand-write without it.
>>> You can see that looking at the generated code... you will only find
>>> event registrations and a few field bindings, but you will never feel like
>>> loosing control over your code.
>>>
>>> I will love to hear your opinion on this:
>>> http://code.google.com/p/guit/wiki/GuitViewDesign
>>> That's the craziest change in my mvp implementation so far, and I loving
>>> it. I am looking for down-sides and extra requirements that I didn't think
>>> of yet.
>>>
>>> Cheers!
>>>
>>> 2010/8/24 Christian Goudreau <[email protected]>
>>>
>>> I saw that you can add an annotation over functions, but over an entire
>>>> place, I don't know. Also, yeah well you may be generating a lot of code
>>>> with generators, but I'm afraid that in the end, you'll loose freedom for
>>>> customization.
>>>>
>>>> I would have loved to join forces into making a great framework instead
>>>> of having different products, but I think each project have their good and
>>>> bad points, even if we still have to fully compare each products.Our
>>>> devotion to GWT-Platform started with Gwt-Presenter and we're committed to
>>>> support it and improve it along with our users. Our commitment is to the
>>>> community and it will always be a priority to improve our users experience
>>>> with GWT-Platform and GWT.
>>>>
>>>> Anyway, nice job Gal, it's sure saves a lot of boiler plate for simple
>>>> web pages like our Samples, I'll take a look even more deeper to see where
>>>> it goes against something more complexe. Until I can speek with more
>>>> objectivity while talking about Guit, I'll only say two thing: Open source
>>>> rock and thanks for this comparison.
>>>>
>>>> Cheers,
>>>>
>>>> On Tue, Aug 24, 2010 at 9:17 AM, Magno Machado <[email protected]>wrote:
>>>>
>>>>> I'm already using GWTP in a project, and what I most like on it is how
>>>>> easy it is to have a presenter loaded asynchronously, this is done with
>>>>> one
>>>>> line of code.
>>>>>
>>>>> How is it done in Guit?
>>>>>
>>>>>
>>>>> On Tue, Aug 24, 2010 at 9:42 AM, Gal Dolber <[email protected]>wrote:
>>>>>
>>>>>> http://code.google.com/p/gwtpsamplesinguit/
>>>>>>
>>>>>> --
>>>>>> Guit: Elegant, beautiful, modular and *production ready* gwt
>>>>>> applications.
>>>>>>
>>>>>> http://code.google.com/p/guit/
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "Google Web Toolkit" group.
>>>>>> To post to this group, send email to
>>>>>> [email protected].
>>>>>> To unsubscribe from this group, send email to
>>>>>> [email protected]<google-web-toolkit%[email protected]>
>>>>>> .
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/google-web-toolkit?hl=en.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Magno Machado Paulo
>>>>> http://blog.magnomachado.com.br
>>>>> http://code.google.com/p/emballo/
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Google Web Toolkit" group.
>>>>> To post to this group, send email to
>>>>> [email protected].
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected]<google-web-toolkit%[email protected]>
>>>>> .
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/google-web-toolkit?hl=en.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Christian Goudreau
>>>> www.arcbees.com
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Google Web Toolkit" group.
>>>> To post to this group, send email to
>>>> [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected]<google-web-toolkit%[email protected]>
>>>> .
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/google-web-toolkit?hl=en.
>>>>
>>>
>>>
>>>
>>> --
>>> Guit: Elegant, beautiful, modular and *production ready* gwt
>>> applications.
>>>
>>> http://code.google.com/p/guit/
>>>
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Google Web Toolkit" group.
>>> To post to this group, send email to [email protected]
>>> .
>>> To unsubscribe from this group, send email to
>>> [email protected]<google-web-toolkit%[email protected]>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/google-web-toolkit?hl=en.
>>>
>>
>>
>>
>> --
>> Christian Goudreau
>> www.arcbees.com
>>
>>
>
>
> --
> Christian Goudreau
> www.arcbees.com
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google Web Toolkit" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-web-toolkit%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-web-toolkit?hl=en.
>
--
Guit: Elegant, beautiful, modular and *production ready* gwt applications.
http://code.google.com/p/guit/
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.