A new-comer nightmare, the learning curve and best-practices

161 views
Skip to first unread message

João Peixoto

unread,
Dec 30, 2011, 8:34:37 AM12/30/11
to Google Web Toolkit
Hello everyone

Just to clarify, this post is not a technical question, it's more me
putting out there my concerns and hoping for guidance (not work to be
done for me), so that is out of the way.

Note: I read documentation, so i'm not talking in the dark completely.

My objective: I want to learn this new technologies: Spring Framework
(server-side) and GWT (client-side). I have done some projects with
Spring already, so that is tackled.

So now i started exploring GWT. Integration between GWT and Spring
seems to be very simplified with RequestFactory. I haven't played with
it yet but I already found a couple of articles about it. Should it be
a separate project from the Spring one? It makes sense to be, but then
where do I deploy GWT? To the Spring webapp/WEB-INF folder? (This
might be a question for Spring forums)

Now comes pure GWT. First the design pattern MVP. I know it but never
used it. I read about it and I saw the "Large scale application
development and MVP" example. The feeling I get is that it requires an
awful lot of code to build the simplest app. I understand that "large
scale" and "enterprise ready" key works implies a certain level of
complexity, but nevertheless, I feel overwhelmed.

There seem to be a couple of frameworks built on top of GWT that ease
this issue, namely gwt platform, but are they a solution? My
experiments showed that it uses Guice, which afaik is server-side.
Won't it conflict with Spring? (This might be a question for gwt
platform group)

After MVP comes the UI part. I do not have experience with UIs so GWT
UI Designer looked really tempting. I saw the Google IO 2011
presentation about it and I "fell in love". Some preoccupations arose
though. Can I build modular UIs with header, menu, and containers that
vary in content? Is GWT suited to build an entire web app? Or only the
parts of it?
I mean, taking a common website that has "Home", "Contacts", "About",
is GWT suited to serve all this items? Or only the contacts part,
leaving the rest for another technology?

I have found a lot of documentation across the internet but it all
feels sparse, unrelated between each other or unrelated to my
objectives. For a new comer like me it becomes hard to figure out how
this new technology works. And please take in consideration that I'm
new and inexperienced with this technology, so if i said something so
wrong that sounds like nails on a chalkboard I apologize.

Well, I think I left here my more recent thoughts and fears. Once
again I'm not looking for work to be done for me, I'm asking for your
experience and guidance to find the right path.

Thank you in advance and I apologize for the length of the post
All the best and happy 2012

Elhanan

unread,
Dec 31, 2011, 3:17:20 PM12/31/11
to google-we...@googlegroups.com
well first off i'm not sure how RequestFactory is related to spring, it is more related to orm frameworks integration into GWT. 
actually GWT has a lot more integration with gin (the client side of guice in gwt)  and guice then spring, (unless i'm wrong, but i saw a lot more frameworks using it then with spring). 
as for the lack of/sparse documentation, yep, it is a problem, sometimes i think gwt acts more like a start-up company then well founded one like google, although the developer guide does cover most of the bits, the nuts and bolts are hidden away, without proper documentation aside from the source code (and there's a lot of it).
as for the too much code problem, yep, that's also a problem which seems to be increasing with each major of gwt. 
this is why i've seen frameworks result in code generation of boilerplate codes the ease up this pain. 

although the MVP articles are good, they are rather confusing as GWT doesn't have a direct implementation of them, this is because the Activity Places framework, doesn't exactly cover that (you should replace the word Activity with presenter)  

for the UI, you should stop thinking in terms of pages, but start thinking like a desktop developer, the html page is just a thin cover host, it does nothing more then serve your app to the browser, from then on GWT takes over. 

Caoilte

unread,
Jan 8, 2012, 12:52:41 PM1/8/12
to Google Web Toolkit
Hi,
I'm just starting out on a similar project and am feeling exactly the
same way.

Should I use gwt platform or Activity/Places?
(I think I've decided on gwt platform because there are good examples
integrating Gin/Maven).

Should I use UIBinder or GWT Designer?
(I think I'll use GWT Designer for the moment because it looks to be
simpler.)

Should I use GWT-RPC or RequestFactory or something else (RestyGWT
perhaps?)?
not sure at all... I'd like to use RequestFactory but haven't found
any complete non-GAE non-Spring examples yet.

I don't think there would be any problem with you using Gin in
conjunction with Spring. It looks to be purely client side and a lot
more light weight than Spring to boot.

Regards

Caoilte

On Dec 30 2011, 1:34 pm, João Peixoto <joao.harti...@gmail.com> wrote:
> Hello everyone
>
> Just to clarify, this post is not a technical question, it's more me
> putting out there my concerns and hoping for guidance (not work to be
> done for me), so that is out of the way.
>
> Note: I read documentation, so i'm not talking in the dark completely.
>
> My objective: I want to learn this new technologies: Spring Framework
> (server-side) and GWT (client-side). I have done some projects with
> Spring already, so that is tackled.
>
> So now i started exploring GWT. Integration between GWT and Spring
> seems to be very simplified with RequestFactory. I haven't played with
> it yet but I already found a couple of articles about it. Should it be
> a separate project from the Spring one? It makes sense to be, but then
> where do I deploy GWT? To the Spring webapp/WEB-INF folder? (This
> might be a question for Spring forums)
>
> Now comes pure GWT. First the design pattern MVP. I know it but never
> used it. I read about it and I saw the "Large scale application
> development and MVP" example. The feeling I get is that it requires an
> awful lot of code to build the simplest app. I understand that "large
> scale" and "enterprise ready" key works implies a certain level of
> complexity, but nevertheless, I feel overwhelmed.
>
> There seem to be a couple of frameworks built on top of GWT that ease
> this issue, namelygwt platform, but are they a solution? My

Thomas Broyer

unread,
Jan 8, 2012, 5:17:14 PM1/8/12
to google-we...@googlegroups.com


On Sunday, January 8, 2012 6:52:41 PM UTC+1, Caoilte wrote:
Hi,
I'm just starting out on a similar project and am feeling exactly the
same way.

Should I use gwt platform or Activity/Places?
(I think I've decided on gwt platform because there are good examples
integrating Gin/Maven).

I'm comfortable with Activity/Place, so I go with it; but GWTP is a great tool too, made by skilled people. YMMV.
 
Should I use UIBinder or GWT Designer?
(I think I'll use GWT Designer for the moment because it looks to be
simpler.)

They're not comparable. It's like asking "should I use Java or Eclipse?". GWT Designer can generate Java code and/or UiBinder code.

Should I use GWT-RPC or RequestFactory or something else (RestyGWT
perhaps?)?
not sure at all... I'd like to use RequestFactory but haven't found
any complete non-GAE non-Spring examples yet.

I'd rather go with RF, but some people don't like it and prefer GWT-RPC (Google Groups uses GWT-RPC fwiw); as for Activity/Places vs. something else, it's also a matter of personal taste. RF has many advantages over GWT-RPC, but it's younger so there are bugs too, and it's not as easy to use (steeper learning curve)

I don't think there would be any problem with you using Gin in
conjunction with Spring. It looks to be purely client side and a lot
more light weight than Spring to boot.

Absolutely: GIN client-side vs. whatever (Spring DI, Guice, etc.) server-side. But that's only talking about DI, and Spring is not only Spring DI.

Reply all
Reply to author
Forward
0 new messages