Totally agree with lineman78 on the use of SmartGWT. We used SmartGWT to
build a prototype, only to find out that mixing Js library wrapper with
native GWT is bad. It's super easy in SmartGWT if you're building a simple
CRUD application, but anything beyond that which requires customized widgets
in GWT, then good luck, not to mention you can't use all the benefits of the
GWT compiler. We're currently using ExtGWT. It's nicer in that it's (mostly)
natively GWT, so you can always trace down the Java code, but still it's
layout is expensive, and widgets are not 100% compatible with the GWT widget
system. The event system is a mess to work with. We really need a good UI
library, preferrably supported by Google that's built on top of vanilla GWT
widgets.

On Thu, Aug 12, 2010 at 1:22 PM, lineman78 <linema...@gmail.com> wrote:

> I can't help you with the TileGrid other than saying that you could
> write something similar yourself with a little effort assuming you are
> willing to overlook some of the niceties such as animation.  I have
> used SmartGWT in the mast and would warn you to use extreme caution in
> making the decision to use it.  It is not a GWT implementation, but a
> GWT wrapper around an existing javascript library, so you don't get
> all the advantages the GWT compiler gives you such as dead code
> elimination and obfuscation.  The SmartClient JS library is modular,
> so you can only load the modules you need, but as with any JS library
> I would estimate most sites only use 10-20% of the code they download
> and load.  Also, SmartClient and ExtJs both use a heavy layout engine,
> which I have noticed causes major slowing in IE.
>
> Unfortunately I cannot provide source code, but I can point you to
> some resources and explain my approach.  Here is an article by some
> GWT contributors on overlay types that should help you get started:
>
> http://code.google.com/p/google-web-toolkit/wiki/OverlayTypes
>
> I am using what they call the old way in that wiki.  To further
> expedite things, which you might consider depending on the size of
> your project; I have written an overlay type generator.  All I have to
> do is write an interface for the overlay type and have the interface
> extend JsonObject and it will generate the overlay type for me:
>
> public interface JsonObject {
>    public void setJso(JavaScriptObject jso);
>    public JavaScriptObject getJso();
>    public void setJson(String json);
>    public String getJson();
> }
>
> public interface Shape extends JsonObject {
>    public void setArea(double area);
>    public double getArea();
> }
>
> GWT.create(Shape.class); produces:
>
> public class ShapeJso implements Shape {
>    private JavaScriptObject jso;
>
>    ...
>
>    public void setArea(double area)
>    {
>        setAreaImpl(jso, area);
>    }
>
>    private native void setAreaImpl(JavaScriptObject jso, double area)
>    /*-{
>        jso.area = area;
>    }-*/;
>
>    ...
> }
>
> This is very simplified, but I have given you a few hints to some of
> the tricks I had to use to get the generator method to work(see:
> JsonObject).  Usually you would extend JavaScriptObject, but in order
> to get the generator to work right I had to save it as an attribute.
> You will want to consider if the generator is the right approach, I
> think it took me a good 8-10 hours in the end to make a generator that
> works for almost every case.  But you can get one that works for most
> cases in 2-4 hours as long as you aren't doing anything too complex.
>
> On Aug 11, 3:01 pm, "marius.andreiana" <marius.andrei...@gmail.com>
> wrote:
> > Hey,
> >
> > On Aug 11, 11:00 pm, lineman78 <linema...@gmail.com> wrote:> As far as
> SmartGWT goes, I will warn you that I think the problems and
> > > performance hits you will run into are not worth the UI that you
> > > gain.
> >
> > Thanks for the heads up. A hello world with data bound widgets seemed
> > straightforward.
> >
> > > Plus you must consider the licensing, which is required in
> > > order to use their data binding.
> >
> > Looks like we can use thishttp://
> www.smartclient.com/smartgwt/javadoc/com/smartgwt/client/data/...
> > under LGPL, and no Smart* server-side component.
> >
> > > I commonly use REST and GWT in perfect harmony and it is very easy.
> > > Assuming you have the ability to output JSON instead of XML you can
> > > just use overlay types and get very efficient parsing.
> >
> > We have control over server APIs, and we have both JSON and XML. Would
> > it be possible to share some sample code?
> >
> > >. I personally
> > > don't know what TileGrid is,
> >
> > Seehttp://www.smartclient.com/smartgwt/showcase/#tiling_filter_sort
> > d'n'd to sort. One should be able to change image captions, and have
> > the customized data source trigger appropriate PUT requests to update
> > the server items. I'd love to see this functionality from GWT.
> >
> > > out of the box GWT isn't intended to
> > > be a widget library, but there are plenty of them out there.  Google
> > > is trying to add a lot more widget support which is evident by the
> > > data presentation widgets, but their original intent was to create a
> > > flexible and efficient cross compiler, not make a pretty UI library.
> >
> > Point taken.
>
> --
> 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-tool...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@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-tool...@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to