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.
