GWT.create in Frankfurt – Day 2

GWT.create in Frankfurt – Day 2

Starts with a review of “The Future of GWT Report 2013” (a public survey launched by Vaadin over the Internet), which resumes:

  • 1420 respondents to over 40 questions;
  • 58% respondents come from Europe;
  • 45% of apps built with GWT support tablets (up from 36% last year);
  • 79% of apps built with GWT are for business;
  • 91% of respondents feel productive with GWT.

The Future of GWT Report, 2013, Vaadin

Source: The Future of GWT Report, 2013, Vaadin

Then, the 4 GWT leader companies: Redhat, Sencha, ArcBees and Vaadin have showed the latest features in their frameworks:

  • Erik Jan de Wit from Redhat talked about the Errai team’s focus, which is to support Java EE API (JPA, JAX-RS, CDI and Data Sync) in GWT apps;
  • Colin Alworth from Sencha has presented the coming new feature – a better theming system in GXT 3.1 (release expected in Q1 2014), and announced the GXT 4 will have Table, ARIA, and RTL support, which will be released in summer end 2014;
  • Christian Goudreau from ArcBees showed us the new feature in GWTP frameworks: Rest Dispatch, which gives full REST support in GWT apps. He also demonstrated how the GWTP plugin works in IntelliJ. At last, he introduced their new product “GAE Studio”, which can help developers in optimizing their Google App Engine applications.

Artur Signell from Vaadin, demonstrated the server push support with a simple chat application, a new Grid widget and the SASS support for themplating in Vaadin 7.

Workshop: How to become a GWT committer
Guided by Michael Vogt, Vaadin.

We started by checking out the sources codes and all dependencies, then we configured development environment by adding necessary system variable, changing code format style. At last, we subscribed a Gerrit account by signing the CLA (Committer License Agreement). These processes helped us to have an identical development environment like other committers.

GWT team uses Gerrit to manage the code review workflow and it’s completely open to everyone. This allows us to stay closer with GWT team and easily contribute in GWT development, exchange opinions on any issue patch. Michael Vogt showed us how to use Gerrit for tracking patch process, how to compare different versions of code and how to comment on one specific code line or the whole patch. With Daniel, they guided us step by step on issue correction and patch validation workflow.

They also presented us how to run the JUnit test for GWT core development, some common runtime configuration problems and how to resolve them.

Conference: Easing Offline web applications development with GWT
Presented by Arnaud Tournier, LTE Consulting.

A web application can be available and functional even there is no internet connection. Yes it’s possible. Arnaud Tournier from LTE Consulting presented at first the HTML5 APIs that we can use to enable this feature in GWT applications:

  • Application Cache, for storing web application’s files locally to use when offline. This is not implemented in GWT yet, we must use JSNI to write it ourselves.
  • Local Storage, for storing offline data. This is the only API who works in all principal browsers, and is already implemented in GWT. But data is not encrypted and stored in key/value pairs, only String type is accepted.

To work through these limitations:

  • A great advantage with GWT, we can easily find a Java SHA-2 implementation and use it directly in client side to encrypted sensitive data.
  • There is a JavaScript version of SQLite, we can wrap it in GWT, and use it to store any data structure and benefice SQL query data research. Then we can simply store the database dump to local storage.

He is working on to make a full JPA implementation in GWT with SQLite. This will allow developers to use JP-QL in the client side. So the code of business data access logic can be shared between client and server. Data synchronization strategy between client and server is the most complex part in building offline application. It can be separate to 3 levels:

  • Read-only;
  • Read-add;
  • Read-add-update-delete.

The final choice depends on the application’s business requirements. Level 3 is the most difficult case to treat. Conference ended with an application demo, which demonstrated a working offline order management application.

Closing panel

Closing Panel

The last session of GWT.create EU was a discussion panel with conference speakers, GWT steering committee members and participants asking questions. Questions are about the future of GWT, debugging with SuperDevMode, compilation time, enhancement of UiBinder. To resume the answers, GWT is here to stay, compare with other tools (Dart, jQuery …), it is and will always be another way to do it.  And we use it because we love Java. There still has a lot of work to do to make SuperDevMode debug friendly for developers, but the whole team is doing their best. To reduce compilation time, incremental compilation as a solution is already started.

If we say the first day of GWT.create is talking about the GWT core, then the second day is talking about everything around GWT: useful tools, frameworks, and GWT community. For years, peoples talked GWT’s poor developer experience:  too complex to build web application, too many boilerplate codes, difficult to customize style, long compilation time. But now, with the coming features in GWT, more and more amazing GWT frameworks come out which will help developers to code less but more semantic. Soon, you will see, developing with GWT will be easier and more pleasant.



Leave a Reply

Your email address will not be published. Required fields are marked *