The Future of GWT Report
WishlistWe asked 1349 GWT users to share their thoughts and experiences on GWT. This is an unedited list of over 2600 responses to long answer questions divided in 5 categories.
You can vote them up or down to show their accuracy and priority that you think they should have when it comes to GWT future development.
Download full GWT Report
Full support do HTML5
Advance GUI components
Faster compile time
Have a richer GWT Native widget library.
please keep the community posted to stop rumors.
Mobile. Mobile. Mobile.
Ability to natively use a push paradigm for server->client comms without the need to use 3rd party tools or hacks.
Faster dev-mode, faster full compiles
JDK 7 support. Support for CSS 3 in ClientBundles.
Full HTML5 support (SVG, GeoLocation) embedded in core GWT libs. Compatibility with older browser is not important for us.
darkness about gwt evolution, not much communication of GWT team & committee
Better modularity of large projects.
Java 8 lambda functions. I'm getting rather tired of umpteen zillion anonymous callback classes.
Besides looking forward to start using SuperDevMode, a on-the-fly code analysis that could point out stupid errors such as serialization issues in the IDE. Also, some better error messaging would be great! And finally, some examples of a good, clean, best practice GWT application with decent test coverage.
Support for JDK 8 closures when then are released. Continued code size improvements. Remove all the deprecated stuff.
- Stable chrome plugin and better run time performance in dev mode - Reduce compile time
Integrated MVP architecture that does'nt require so much boilerplate code. I would like to see more autogenerated structure, if i use Gwt-plugin, i would like to be able to generate Presenter-View or similar, and hide alot of code, more like Vaadin but client-side.
Ability to write web application once for web(desktop), tablets and mobile phones
Compile time. It takes forever. It is the slow productivity killer because at the begining, when the codebase is small, it is tolerable but after a while it becomes really frustrating. You might think that Dev mode solves this (with modify and reload) but with a big project it dies after several reloads with a permgen OutOfMemoryException and I have to kill the server and build again.
Good looking Widgets out of the box.
Built in features for push type communications from the server.
Proper HTML5 support, WebWorkers, offline support, GWT-RPC over WebSockets.
great animations like in iphone. mobile support
State of the art GUI components for web and mobile
We need roadmap after GWT 2.5.
Faster compiles and super dev mode.
The speed of the compiler and the development mode.
dnd perfect support (gwt native) reflection
Having to implement functionality that many, if not most, other projects need as well. Examples: time zone management, time picker, RichTextToolbar, drag and drop. GWT needs a better mechanism for sharing widgets/functionality, and a process of including the best solutions into the core library (voting?)
Please support Java 7. In particular, the two that catch me out are switch-on-string and diamond *> for generics. Some good data-binding library would be very, very useful. I ended up having to write my own for internal use -- JAXB isn't supported (and it smells, since all types have to be immutable). Something based on JSON would be useful. The Maven-integration is tricky. It's hard work getting Eclipse, m2e, Maven, and GWT all talking nicely. Email me if you want more info, and I can write you an essay :-) Also, there are gaps in the widget hierarchy. Finally, there is no decent date/time handling. Even something that simply dealt with Gregorian calendars would be a step up from having to use java.util.Date!
Good widgets which conform to the overall architecture of GWT
more complex UI widgets (like GXT or smartgwt but native GWT components, not JS wrappers)
Increase the speed of the compiler and the development mode.
Drag and Drop
Lack of quality widgets. There are many of them, but they are using tables and some weird way to style them (some styling is not possible at all). Unfortunately for GWT, since people from Vaadin are in team now, there won't be good will to improve current widgets and we will be forced to use Vaadin or some other framework.
Mobile "native" application.
Widgets with themes/skins
Probably the biggest hurdle right now is the slowness of devmode and the total compile time.
As said before, increase the speed of the compiler
bad mobile support
Mobile support. Better widgets. Excellent documentation
Calendar support. Working with only the date object is frustrating!
Core GWT is getting weaker. We write our software on GWT and do not want to replace is with Vaadin and replace it again 2 years later with another awesome extension/toolkit. We want to see great themes & widgets and all features in core GWT.
Much simpler support for MVP
Honestly, the use of Editors and RequestFactory is damn too complicated for what it does. Furthermore, it needs more documentation/examples.
Google APIs for GWT, such as Google maps, aren't being updated Productivity issues: hosted mode refresh is slow and leaks memory UiBinder should be improved (for example provide good support for global CSS constants)
Lack of documentation and all of the available books are out-dated.
High level drag and drop functionality
1. one sec compile time 2. gwt UI testing framework.
shorter build times! Dev mode is not relevant to my use case.
Production-quality Super Dev mode
I'm in my second GWT app, this time using UiBinder, MVP, Activities & Places, JUnit, etc. Getting my head around this is HARD, and the online articles leave me confused. I'm writing, ripping out, and rewriting, and still I don't grok it all. This smaller app will be a commercial product, which makes my boss happy, but it's also serving as a learning tool for me before I rewrite the my first application (which began with GWT 1.2). My rewrite will make extensive use of cell and cellview and SVG. The articles on MVP seem a mix-mash of this and that, with different conventions. The really big examples--Expenses and MobileWebApp--need accompanying write-ups. (Also, I've had poor luck building and running with these Maven samples.) Is there a Manning author in the house? I'd buy this!
HTML5 umbrella features: a proper WebWorkers linker and documentation; offline manifest generation for MD5 hashed generated artifacts; GWT-RPC over WebSocket.
Java Reflection code support.
Had to revert to StackOverflow for so many RequestFactory information. The doc is quite lacking.
Using lambda features in Java 8. We currently have so many anonymous classes in our code that take up a lot of space and are ugly.
Lack of high grade professional looking widgets - we have implemented our own widget set for the most part
1) Widgets 2) WebGL support
Tablets. Tablets. Tablets. Debugging on tablets; iPad, Android. I realize this is not a GWT specific issue, but it is the single biggest issue my team faces. New feature in Chrome help.
Better Maven support
Simpler integration of non-gwt JS "widgets"
difficult to fully understand, use and adapt the behavior of GWT Tree and Table. Cool stuff, but in combindation with the RequestFactory mechanism it is like "bare metal" ;-)
Fast (incremental) build.
+ REST support for RequestFactory + Full Bean Validation support for RequestFactory (including group validation, and service method validation)
Better layout support. Ability to abstract layout using modern css techniques, even if the new classes don't work perfectly in IE6 and 7.
I personally loose a lot of time styling. CSS3 is a PITA to work with and GWT could easily solve that, for example with macros on CssResources.
java 7... 8, good documentation and books, GwtTestcase (fast and easy)
Biggest problem is that GWT lost momentum and the future is still somewhat unclear.
GWT have already more features that I'd like it to. I'd like a sharp core with everything else as an extension, including gwt-rpc, request-factory, uibinder, widgets and the dom api itself... (its just a hope)
Client side validations, there is bean validator but it is hard to integrate it, and it is still experimental.
Automatic data binding between all the app's layers (more stuff in Editor's framework and RequestFactory). Direct way to introduce security/login in your app. Payment API.
Mobile UI widgets in GWT core
Compilation time. We need more build in widgets, sometimes it takes too much time to build it on your own. Request factory and the Editor framework are very complicated to use and for us it seems like a bad choice of use. Also, to be more flexible with maven integration.
Printing support. Pdf creation/manipulation - nice for generating simple reports clientside.
Missing or bad documentation. For example, doing advanced things with RequestFactory(composite keys,lifetime of requestContext, coupling with EditorDriver etc.) are desperately missing some good in-depth documentation wich, in turn, lead to noumerous frustrations. Doing even some trivial stuff is hard if GWT is the first RIA framework you use.
- Better mobile browser support. - Multitouch. - Better animation support. - Better GWT support for Google Charts. - Better Drag and Drop
Bigger Community, More Training and More Event
Vastly improve build time. Also improve core Java libraries support.
Better Mobile support
1) More Widgets (Multiselect with drag and drop for instance) 2) Easier way to run the app. I haven't tried Super Dev mode yet ...
Integrated GQuery/Elemental with more plugins, especially for mobile UI and touch-enablement (like touch-enabled drag-n-drop manager, fast buttons, etc).
DEVELOP CROSS-PLATFORM MOBILE APPS WITH GWT!!! However, I agree with Zuckerberg that HTML5-apps sucks for mobile development--it needs to be compiled to NATIVE code. I found two good examples of cross-platform Java frameworks for mobile development: NeoMAD (www.neomades.com) and CodenameOne (www.codenameone.com)--both frameworks compile Java to native code for major mobile platforms. How's about buying some company that has such technology (Java compilation to native code) or developing it yourself?! Thus making GWT a first and major platform for HYPER-CROSS-PLATFORM development: WEB AND MOBILE!!! And add DESKTOP too!!! If it's possible to compile Java to native code for mobiles, then there's absolutely no problem in building a desktop app from the same Java sources (to run it on regular Java Runtime or even compile it to C++/ObjectiveC/C#/etc)!
Remote debugging in dev mode for mobile device´s browser
XPath. SVG tools. Integrated DnD.
Better server-sync/Offline/etc support
Seems like the community is drying up (i.e. fewer people are using GWT and google seems to be trying hard to replace it with Dart).
Integrate Gin and Guava. Replace current, unreferenceable-internal Guava, with externally reference jar so an additional Guava jar doesn't need to be added. Something that clearly supports the web designers vs the front end developers.
Good charting library