GWT Plugin, the importance of the development environment and the "New GWT Application Project"

Diogo Alexandre 2 years ago • updated by Dr. Lofi Dewanto 2 years ago 5

The GWT Plugin has a very important role on keeping GWT alive and getting new developers to quick and easily start developing on it.

Having developed in GWT in several projects, but also having to use other alternative technologies in several other projects, it is important for me to push for it. I truly find GWT better, easier and more powerful than other alternatives. However, it is hard to convince other developers in a team to try it and see for themselves the benefits of GWT, mainly because it is not that popular and one needs to try it.

The easiness of creating a new GWT application with sample code (with Ant, or with Maven - great job on that!), including a simple client-server, testing and UI examples (for now UiBinder) is the key to get GWT further. No matter how different GWT will be in this new version (e.g. will UiBinder and GWT-RPC be something different?), if the Eclipse GWT Plugin shows all its benefits with a couple of clicks, then developers will actually try it out - hopefully newcomers too! Short but complete documentation, examples and tutorials are also essential. That is actually more important for the future of GWT than the technical details behind it.

Its been a while since i used the GWT eclipse plugin, i use archetypes to create new quick start projects 


and i do build my own sometimes, what one might use the plugin for is for debugging in the IDE and yes this might a point to work on and i think there were some work done around it since the last year.

Wouldn't it be nicer if it would be a complete solution that a newcomer gets into immediately? Maybe that's a different topic, concerning the improvement of http://www.gwtproject.org and documentation available.

A good workflow for a developer would be:

1. Search for GWT and find http://www.gwtproject.org/

2. On the website easily find the "Get started" page (the site and menu structure are fine at the moment, but the content is confusing, fragmented and outdated)

3. There is an IDE plugin, one can easily install, which helps the developer through the install process and creating a sample project with Maven (or other), code samples, client-server communication, UI example, etc. 

GWT used to be as simple as that.

Independently of the technologies used, the easiness of getting started, the supporting tools and good documentation should be the focus. Otherwise, it just gets overwhelming and developers will opt for other solutions. GWT should not become just the glue that gets several alternative github projects together, that will not work in the long run



I agree with you that GWT does not help a lot for someone who wants to start. Some points:

- The documentation is not easy to understand, please read my thread on the documentation topic

- You have two Maven plugins, 

- You need to use other UI frameworks to make a good looking UI (GwtBootstrap3, GWTMaterial Design, ...)

IMO, we don't need to have plugins for Eclipse and IntelliJ, we just need Maven (and maybe Gradle) starter and also something like Spring Initializr (https://start.spring.io). Luckily we have this one GWT Project Generator:


But it is not easily to find.

The source of all is the documentation, please read my thread on documentation.

I had already read your post on the documentation topic, agree with it and voted for it.

Although UI frameworks are very important, they can be used independently from GWT. I have used Bootstrap in several projects with GWT and I prefer to use the updated (pure) version of Bootstrap, instead of using GwtBootstrap3. It is natural that such projects came up, but I don't think they should be a part of GWT. It is still great that they exist and developers can optionally use it.

A Maven (or Gradle, or...) starter is crucial, but it does not reduce the importance of an IDE plugin. The current GWT Plugin for Eclipse works great and allows creating a project with GWT project with sample code using Maven or Ant. Those web projects do the job, but it is an inferior development experience compared to IDE integration. Besides, the plugin goes further than a starter - it does code completion, coding help, highlighting, running development mode with jetty shortcuts, easily managing project settings and shortcuts to create ClientBundle, Modules, UiBinder (always with sample code that helps a lot), etc.

Agree with you. My point is that it seems that GWT does not have enough ressources. IMHO it is better to focus on few things and make it very good instead of doing a lot of things and all of them are not up-to-date. Maintaining plugins for IntelliJ, Eclipse is eating your ressources. Therefore make all based on Maven is easier to be up-to-date. At the end the community and some companies need to get the job done. 

To your point: UI framework like Bootstrap, Material Design, etc: yes this should be seperated from GWT project like today. Still I think project like GWT Starter is a very good starting point for GWT. Today you need to come with nice design to be able to attract developers and GWT internal, standard design is just too old.