Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Best GWT widget library? [closed]

Tags:

java

gwt

Do not bind yourself to ANY of these libraries. Use Vanilla GWT to create the structure of your project. In particular, use the MVP pattern and an Event Bus. Please, see google article to know how to best design your client application with GWT: Building MVP apps

After, you can use any widget of these libraries (say a table, or a combobox, a datepicker, etc) and incorporate it to your project. Try to use extended components ONLY if you don't see a way to do it with vanilla GWT. This way you don't tie yourself to these libraries which are ALWAYS a pain when you try to do something that doesn't appear in the demo application, contain many bugs and their support are poor at best.

How to look for widgets should follow this order:

  • First check GWT Incubator to see if there's what I'm looking for. http://code.google.com/p/google-web-toolkit-incubator/
  • Then, if you are looking for something "cooler" check GWT Mosaic http://code.google.com/p/gwt-mosaic/

Careful with other libraries, I've worked with them (and still have nightmares).


Depends on what you mean by "best". Best looking? Best API? Best for extending to your own custom needs?

E.g., I was just evaluating table classes to use in our application. We've been using GWT-Ext, but it has many performance problems for us, and is very hard to get the tables sized the way we need them. I came very close to going with GWT-Mosaic, but decided instead to build off the widgets in the GWT Incubator.

So, why did I make this choice? It seems that too many of the libraries out there come with their own, for lack of a better word, baggage. Either you have to dive whole-hog into some MVC framework (which may not be entirely compatible with the rest of your code base), or you have to adopt someone's new fangled layout system, or you have to live with the fact that you cannot really debug the code (because its just JSNI wrappers).

Don't get me wrong, the GWT Incubator isn't perfect...the widgets there are in some amount of flux. In my case, this was the best choice, though. It gives me good (but definitely not perfect):

  • API
  • Extensibility
  • Look and feel (well, this is kinda weak, but that's what CSS is for.)

So...the answer (for me) is a combination of:

  • Stock GWT widgets (with lots of custom styling)
  • GWT Incubator tables
  • A few home-grown widgets

(I should add: the "baggage" I'm referring to isn't necessarily a bad thing. But, if you just want a widget or two, it can raise the bar on what it takes to just get your work done and how good youe application looks.)


See this component library GWT Bootstrap this is a implementation in gwt of Twitter Bootstrap.


GWT alone is a pretty good library.

I didn't use all of the mentioned ones but can recommend Ext GWT.