How can I contribute to GWT?

178 views
Skip to first unread message

Mincong Huang

unread,
Mar 21, 2018, 2:47:50 AM3/21/18
to GWT Contributors
Hi everybody,

I'm a junior software engineer at Nuxeo. My company has a lot of Java code written in GWT (~100k lines), which brings me here. I'm curious and eager to learn more about GWT, and ready to contribute in my spare time. I've already started to learn GWT and brought small improvements to the GWT website [1][2]. However, before going further, I'd like to know: how to contribute to GWT?

I took a look at Manuel's slide "GWT Contributor Workshop" [3] and the official page "Making GWT Better" [4]. They're very helpful, but more about workflow explanation, environment setup, and making the patch correct. I'd like to know what are the right subjects to get started. Otherwise, there's a list of issues in GitHub, but there're no label for newbies, e.g. "good first issue", so I definitely need your guidance... Personally, I like any related to Java compilation, type, and test.

Before joining Nuxeo, I participated to Google Summer of Code 2016. I contributed to Hibernate Search, a layer on top of Hibernate ORM for search, by adding module `jsr352` for batch indexing data [5].

Cheers,
Mincong HUANG

Ahmad Bawaneh

unread,
Mar 21, 2018, 5:39:00 AM3/21/18
to GWT Contributors
Nice to see people asking about this, i went through this before you and now i do my small part of contributions because i love GWT i want it to be better and i want to help the amazing developer who maintain and provide us with such stable wonderful library.

I was a GWT nop even though i used it for a long time, i was doing it the wrong way, i do thing without real understanding, but things changed and i do dig deep before i do anything, i have become a contributor in several ways, so this my list of how i can contribute not only to the GWT itself but also to the GWT community :

  1. Asking questions : asking questions is a good way to contribute, each question opens a discussion that you and the community can benefit from, it give more understanding to those interested in the topic, but where to ask :
    • Here in the GWT google groups : the good thing about GWT google groups that the posts are actually emails that reach large number of people, discussions are persisted for later when anyone came through the same issue they can search and find the discussion, add their contribution.
    • GWT community on google+ : even though it is not as much as active, but there is GWT people there who are not on google groups, comments and discussions can be done there.
    • GWT gitter channel : The place where i spend most of my time, every day tons of discussions and announcements happens there, the other good thing is how joining one channel will lead to join more GWT related channels, and offer a better chance for learning and contribution. the people in there are so amazing and their knowledge is beyond my reach, and they willing to spend time talking to you to solve your issue or guide you with your contribution.
  2. Solving GWT issues : as you said the issues might not be labeled as you desire, but when you get involved using the channels above you will receive the guidance you are looking for, i have recently applied a very huge Patch to GWT that updates the CLDR data from version 25 to version 32, the issue was not labeled , and it was not an easy one for a starter, but with the guidance from Colin on the gitter  channel we made it happen here and it got merged believe me this huge patch was my first patch with GWT, the guys on the channel will help you from A-Z till it is done.
  3. Libraries around GWT : there is tons of libraries around GWT, even though is old but it is yet modern and stable, and it brings some new things every while, like JsInterop and Lambda support with Java8, there is old libraries out on the while that are still uses old stuff, you can work on these libs and make them use the new stuff, sometimes you might need to rewrite a lib and solve an issue or bring new things to from the original one, recently i wrote a library based on GWTJackson that uses Annotation processing instead of generators and uses the same json mapper for both the client and server side here , i am also building a UI library for material design that uses elements, elemental and elemento instead of widgets , here , you can bring a new lib or work on or be inspired by an existing one.
  4. GWT 3.0 : We are already working on Porting stuff from GWT 2.8.x to GWT 3.0, we make the GWT 2 module ready for j2cl when they hit GWT 3.0 which will use the j2cl as a transpiler, there is just too much code to port and since we do this in our spare time we are really short in hands to work on this, but it is really required before we can ship GWT 3.0, this kind of contribution is really really appreciated, you can find the list of modules that need to be ported and who is working on which module here, the already ported modules builds are available here, so another way to contribute in this field is to use the ported modules and report any issues and give a feedback.
  5. GWT site : Improving the GWT site is also a good place to help, it is still show some old stuff, so updating every while is a good thing.
  6. GWT conference : Attending the conference really help GWT community spread the world that GWT is still alive.
  7. Social media : Advertising GWT in the social media is also very important, it is a very clear way to show how live GWT is and that it is still has a community behind it, it brings more audience.

finally, its been less than 2 years since i joined the community and i am proud of the level i reached and still believe there is even a lot more to learn and there will be more opportunities to contribute to GWT.

sorry for the long response.

Have fun.

Mincong Huang

unread,
Mar 21, 2018, 4:08:15 PM3/21/18
to GWT Contributors
You've provided a lot of useful tips and resources. Really appreciate this! Thank you, Ahmad.

Ahmad Bawaneh

unread,
Mar 22, 2018, 6:45:49 AM3/22/18
to GWT Contributors
You are very welcome,looking forward to chat with you in on gitter channel. :+1
Reply all
Reply to author
Forward
0 new messages