Thanks Lineman and Kevin. Your feedback strengthens my recommendation
for the hybrid approach described in the doc.


On Aug 12, 11:46 pm, lineman78 <[email protected]> wrote:
> Not to mention the licensing on GXT is not for commercial use.  My
> suggestion is to try to piece together all the UI elements you need
> from other libraries or write your own as they will be more efficient
> and integrate with one another better.  Also, don't be lazy and pick a
> UI library by it's LAF, wonders can be done with CSS if you are
> willing to spend a little time.  Don't get me wrong, I think both
> options are valid for UI libraries, but I often think their
> shortcomings are overlooked due to the eye-candy appeal.  FYI, I have
> experimented with both libraries and both applications were eventually
> rewritten in pure GWT and the performance increase in IE was drastic
> and memory usage eas more than halved.  Also, resource bundles are
> your friend when it comes to efficiency, just watch out for the IE
> implementation of ImageResource; it can bite you.
>
> On Aug 12, 11:47 am, Kevin Qiu <[email protected]> wrote:
>
>
>
> > 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 <[email protected]> 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" <[email protected]>
> > > wrote:
> > > > Hey,
>
> > > > On Aug 11, 11:00 pm, lineman78 <[email protected]> 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 [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected]<google-web-toolkit%2Bunsubs
> > >  [email protected]>
> > > .
> > > 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 [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.

Reply via email to