Ecosystem & Libraries
|
This content was generated with the assistance of AI and should be verified against the official documentation before being relied on in production. The reference material consulted while preparing these pages is listed in the section bibliography. |
This page is written against GWT 2.13.1 (released 2026-06-19), gwt-maven-plugin 1.3.0, JDK 21 with -sourceLevel 17 and the Jakarta Servlet 6 stack of the Bookshelf scenario, and every version and date in it was read from Maven Central, the GitHub API or the project’s own pages on 2026-10-09.
It concerns client code (widget libraries, MVP frameworks and REST clients compiled to JavaScript), build settings (the Maven coordinates and annotation processors those libraries need) and, for Errai, server code.
GWT itself is small on purpose: a compiler, a JRE emulation, the widget set, RPC and the supporting tools described in the other pages of this section.
Everything else (a design system, an application framework, dependency injection, a typed REST client) comes from libraries maintained outside the gwtproject organisation.
Their health varies a lot, and a library that worked for the GWT of its time may not compile today.
This page gives, for each project, the official address, the latest release on Maven Central, and a maintenance verdict that is based only on dates I could read: "active" means a release and commits within the last year, "quiet" and "unmaintained" mean the dates below, and none of the projects publishes an end-of-life notice that I could find.
A verdict is a snapshot of the check date, not a promise.
How the status was determined
The release column comes from the maven-metadata.xml file of each artifact on Maven Central, and the activity column from the GitHub repository metadata.
The commands can be repeated at any time to refresh the tables below.
for p in org/dominokit/domino-ui io/github/nalukit/nalu com/google/dagger/dagger-gwt; do
curl -s "https://repo1.maven.org/maven2/$p/maven-metadata.xml" \
| grep -E '<(release|lastUpdated)>' | tr -d ' \n'; echo " <- $p"
done
gh api repos/NaluKit/nalu --jq '[.pushed_at, .archived] | join(" ")'
Output on 2026-10-09:
<release>2.1.3</release><lastUpdated>20260924181106</lastUpdated> <- org/dominokit/domino-ui
<release>4.0.2</release><lastUpdated>20260212103114</lastUpdated> <- io/github/nalukit/nalu
<release>2.60.1</release><lastUpdated>20260706203412</lastUpdated> <- com/google/dagger/dagger-gwt
2026-10-05T17:56:56Z false
Two traps appear when you do this by hand.
The Nalu project changed its group id: com.github.nalukit:nalu-processor stops at 2.20.6 (2025-06-14), and the current releases are under io.github.nalukit, so a search for the old group id reports a stale version.
RestyGWT’s maven-metadata.xml still names 1.4 (2013) as the latest release although the directory listing contains the 2.x line up to 2.2.7 (2020-05-17).
Overview table
| Project | Official address | Latest release | Last activity | Verdict |
|---|---|---|---|---|
Domino UI |
|
repository pushed 2026-10-01 |
active |
|
Sencha GXT |
4.2 announced 2024-10-02; Maven Central holds only |
not applicable (commercial product) |
maintained by a vendor; latest GWT version named in the 4.2 announcement is 2.11.0 |
|
GWT Material |
|
repository pushed 2026-03-20 |
low activity |
|
GWTBootstrap3 |
|
repository archived; last push 2019-11-14 |
inactive (its README says "This project is inactive") |
|
Errai |
|
commits in September 2026 |
active |
|
Nalu |
|
repository pushed 2026-10-05 |
active |
|
GWTP |
|
last commit on the default branch 2018-09-11 |
unmaintained |
|
Dagger ( |
|
repository pushed 2026-10-09 |
active |
|
GIN |
|
repository archived; last push 2014-08-26 |
dead; does not work on JDK 21 |
The tables rely on release and commit dates; they say nothing about code quality, and a "quiet" library can still be fine for a stable use. What they tell you is who will fix it when the next GWT, JDK or browser release breaks it.
UI libraries
GWT’s own widget set (see Widgets and Cell Widgets) is functional but dated. The options below replace or extend it.
Domino UI
Domino UI is a Java component library with a fluent API, with data tables, forms, layouts, menus and dialogs, and MDI icons.
Its README describes it as "a type-safe, fluent Java UI component library that compiles to JavaScript GWT" and says that building it requires JDK 17 or newer, and a badge on the README declares it compatible with GWT 3 / J2CL.
Its parent POM for the 2.1.3 release declares gwt.version 2.13.1, so it is built against the same GWT release as this section.
The documentation site is https://dominokit.github.io/domino-ui/ and the project organisation is https://github.com/DominoKit, which also hosts domino-rest and domino-jackson (see below).
<dependency>
<groupId>org.dominokit</groupId>
<artifactId>domino-ui</artifactId>
<version>2.1.3</version>
</dependency>
The module descriptor to inherit and the exact initial code are in the project documentation; I did not compile a Domino UI application for this page, so this section states coordinates and versions only.
Sencha GXT
GXT is a commercial component framework for GWT from Sencha. Maven Central holds only the 3.x line (the last upload is 3.1.1 from 2014), so a current GXT is not available from Central: the GXT 4.2 announcement says that current customers get it from the Sencha support portal, as a zip or from a MyGet Maven repository. That announcement (2024-10-02) says that GXT 4.2 lets developers write code "using Java LTS 17 & 21 and GWT 2.11.0", so the newest GWT release that Sencha names is 2.11.0, two minor releases behind GWT 2.13.1. I found no GXT release that names GWT 2.12 or 2.13; ask Sencha before combining GXT with them. The product page states a free 30-day trial; the announcement does not state the license terms, and I do not state them either. The official pages are https://www.sencha.com/products/gxt/ and the documentation at https://docs.sencha.com/gxt/ (its latest line is 4.x).
GWT Material
GWT Material wraps Google’s Material Design for GWT.
Maven Central has 2.8.5 (2025-04-28) for gwt-material, gwt-material-themes and gwt-material-addins, and the repository was last pushed on 2026-03-20, which is why the verdict is low activity.
Its 2.8.5 parent POM sets gwt.version to 2.9.0 and the Java source level to 1.8, so it is built against a much older GWT than this section; whether it compiles with 2.13.1 I did not test.
The repository is https://github.com/GwtMaterialDesign/gwt-material and the demo is https://gwtmaterialdesign.github.io/gwt-material-demo/ (lower-case variants of the GitHub address, such as gwt-material-design/gwt-material, return 404).
Application frameworks
Errai
Errai is described by its README as "a Java/GWT web framework for building rich-client web applications", with CDI-like dependency injection, a bidirectional message bus, RPC, client and client-server CDI events, templating, two-way data binding and browser-friendly navigation.
It is the only entry here that is also a server-side framework: it expects a Java EE style server on the other end of the message bus.
Maven Central has org.jboss.errai:errai-common 4.18.0.Final (2026-01-14), and the repository saw commits in September 2026, one of which moves the build to Java 17.
The reference documentation is at https://docs.jboss.org/errai/latest/errai/reference/html_single/ and the repository at https://github.com/errai/errai.
The README still points to a forum and IRC channel hosted by services that may no longer be in use; treat the GitHub issues as the live channel.
I did not determine which GWT version 4.18.0.Final is built against, so I make no claim about compatibility with GWT 2.13.1.
Nalu
Nalu is a small framework that, in the words of its README, "helps you to create GWT based applications quite easily", with routing on the HTML 5 history, controllers with a start/mayStop/stop life cycle similar to GWT Activities, and plugins for several widget sets (the README says it was tested with GWT, GXT, Domino UI, Elemental2 and GWT Material).
The current coordinates are under io.github.nalukit: nalu and nalu-processor 4.0.2 (2026-02-12), and the README lists them for "GWT 2.9.0 (and newer)".
The 4.0.2 parent POM sets gwt.version to 2.13.0 and Java 11.
The old group com.github.nalukit ends at 2.20.6.
Nalu is the closest maintained alternative to the Activities and Places framework described in MVP, Activities & Places.
<dependency>
<groupId>io.github.nalukit</groupId>
<artifactId>nalu</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>io.github.nalukit</groupId>
<artifactId>nalu-processor</artifactId>
<version>4.0.2</version>
<scope>provided</scope>
</dependency>
Source: Nalu — README: Using
GWTP
GWTP ("GWT Platform") is a model-view-presenter framework from ArcBees.
Its last release is 1.6 (2017-01-17; com.gwtplatform:gwtp-all), the last commit on the default branch is from 2018-09-11, and the README still points to Google+ and a Google Group.
Treat it as unmaintained: existing applications that use it keep working only as long as the rest of their toolchain does, and new applications should use Activities and Places, Nalu or hand-written presenters.
The repository is https://github.com/ArcBees/GWTP.
Dependency injection: Dagger and GIN
Dagger 2 is the supported choice.
com.google.dagger:dagger-gwt 2.60.1 (2026-07-06) is published from the gwt directory of the Dagger repository, the Dagger repository was pushed on 2026-10-09, and a Dagger component compiled with GWT 2.13.1 and ran in a GWTTestCase when I tested it for the MVP, Activities & Places page; the full setup (dagger, dagger-gwt, the dagger-compiler annotation processor and the dagger.Dagger module) is described there.
GIN (com.google.gwt.inject:gin 2.0.0, 2012) was the standard solution when the Developer Guide was written.
The google/gin repository is archived, there is no gwtproject/gwt-gin repository (that address returns 404), and a minimal Ginjector did not compile on GWT 2.13.1 with JDK 21: GIN 2.0.0 depends on Guice 3.0, which fails on a modern JDK with an InaccessibleObjectException.
The details and messages are in the MVP page, which is the authoritative place for this topic (see above); do not start new code on GIN.
REST and JSON libraries
The detailed comparison, with probes that compiled and ran on GWT 2.13.1, is in REST & JSON Libraries. The summary is below.
| Library | Official address | Latest release | Verdict |
|---|---|---|---|
domino-rest |
|
active |
|
domino-jackson |
|
active |
|
RestyGWT |
|
unmaintained; repository last pushed 2023-01-02; needs the JAXB API jar on JDK 21 |
|
gwt-jackson |
|
unmaintained; repository last pushed 2024-03-15 |
|
AutoREST |
|
quiet; repository last pushed 2023-11-24 |
|
Elemental2 |
|
active |
If a RestyGWT or gwt-jackson dependency is already in your build, keep it only while it compiles; plan the replacement before the next JDK or GWT upgrade rather than during it.
Testing helpers
gwtmockito (com.google.gwt.gwtmockito:gwtmockito 1.1.9, 2019-10-13) is archived on GitHub (last push 2024-02-06).
The Testing page shows the options that do not depend on it: plain JUnit tests of presenters and GWTTestCase with HtmlUnit.
Other GWT-based projects
Vaadin Framework (https://github.com/vaadin/framework) is a server-driven Java web framework that grew out of GWT and still has repository activity (last push 2026-09-14); it is a different programming model from the one in this section, because the UI code runs on the server.
For J2CL and the org.gwtproject.* modules, which several of the libraries above target through their "GWT 3 / J2CL compatible" badges, see J2CL & the Future.
Community and support
| Channel | Address | Status |
|---|---|---|
General discussion group |
responds (HTTP 200); listed on the GWT community page as the group for general questions |
|
Contributors group |
http://groups.google.com/group/google-web-toolkit-contributors |
listed on the GWT community page and on "Making GWT Better" |
Steering group |
listed on the community page as where the Steering Committee discusses the roadmap |
|
Chat |
https://gitter.im/gwtproject/gwt (redirects to https://app.gitter.im/#/room/#gwtproject_gwt:gitter.im) |
responds (HTTP 200); linked from the GWT home page |
Bug reports and source |
the official issue tracker; the repository was pushed on 2026-10-07 |
|
Funding |
linked from the roadmap page for donations |
Source: GWT — Community
The community page also lists an IRC channel on Freenode and a Speed Tracer group, both of which look like leftovers of an older era (the 2.13.0 release notes say JFR events replace SpeedTracer), so I do not recommend those entries.
The github.com/gwtproject/gwt/discussions address returns 404, so GitHub Discussions are not enabled.
About GWTCon: I could not verify a current conference site (gwtcon.org did not answer), so I do not list a conference here.
About commercial support: gwtproject.org publishes no support programme of its own that I could find. Commercial support exists for products built on GWT, for example Sencha support for GXT, and for individual libraries; the former ArcBees support offer in the GWTP README cannot be assumed to exist. Look for consultancies that list GWT 2.13 on current projects and ask them for references.
Choosing, in short
-
A new application: plain GWT widgets or Domino UI for the interface, Activities and Places or Nalu for navigation, Dagger or a hand-written factory for injection, Elemental2
fetchor domino-rest for REST. -
An existing GXT application: check the GXT release you hold against your GWT version before upgrading either.
-
An existing GIN, GWTP or RestyGWT application: it is not blocked by the date alone, but plan the exit, since none of them has had a release for years.