GWT.create <US/EU>

January 2015
22–23rd         /          27–28th
Mountain View
Munich

GWT.create is back in 2015

GWT.create is hosted in January 2015.

Watch the teaser

The Future of GWT

Where GWT is going? Meet the people behind it – start creating the future yourself.

Register now

GWT Ecosystem

Learn everything about Vaadin, GXT, Errai and others that are building on GWT.

Register now

The Future of the Web

Web is the platform we build on, let’s take a peek in the future and let it shine.

Register now

Subscribe to GWT.create news!

Sign up to be the first to know about GWT.create news and added videos from GWT.create 2015.

Speakers

Tracks

GWT

Frameworks & Tools

Web Platform

Themes

Everything about GWT from introductory presentations to a deep dive into the compiler. Future of the GWT from roadmaps, technology prototypes to learning how everyone could contribute back to GWT. Showcases on the most interesting applications built with GWT. The most in-depth presentations about GWT you will hear anywhere.
GWT is all about the ecosystem that builds on it. Learn about frameworks like Vaadin, Errai and GXT. Take a short introduction, dive into the technical details on how these frameworks are implemented and hear where they are going next.
Take a peek into the future of the web platform. There are wonderful things coming with the power of the new generation web browsers like shadow DOM, HW accelerated everything, mobile web like nothing before. By combining this with GWT, you will surely be inspired by the possibilities of what you could be creating in the future.

Agenda

Thursday Jan 22th

Registration

  • Keynote: GWT 3

    Ray Cromwell / Google

    Room 1

    8:30–9:30 am

    A lot of change happened in 2014 for both GWT and Java, and a lot more will change in 2015. Learn about the improvements made in speed, size, and development, new hybrid application models, and where we go from here.

Break

  • Service Workers: Offline and Beyond

    Alex Russell / Google

    Room 1

    10:00–10:50 am

    Service Workers are a new web feature (launching in Chrome 40) that enable programmatic control over the network layer. A programmable in-browser proxy is a powerful thing. This talk introduces the fundamentals and walks you through the opportunities for creating compelling app experiences that are better both online and off.

  • Polymer and Elements

    Taylor Savage / Google

    Room 1

    11:00–11:50 am

    The Web Components standards create a brand new set of primitives that makes it immensely easier to develop for the web. The Polymer library ties these primitives together to provide an opinionated way to declaratively create robust, encapsulated components that can be easily dropped into web apps. We'll walk through the sugaring that Polymer provides on top of Web Components, highlight different types of elements that the Polymer team and community is creating with the library, and show how complex web apps can be assembled from simple, interoperable Polymer elements.

  • Inside the compiler

    Roberto Lublinerman / Google

    Room 2

    10:00–10:50 am

    In this talk will explore the GWT compiler internals. We'll look at its overall architecture, the internal representations during the compilation process and explore in detail the different passes. This presentation will give you the insight needed to understand the compiler, contribute fixes and enable you to create new compiler passes.

  • Incremental compilation

    John Stalcup / Google

    Room 2

    11:00–11:50 am

    Incremental compilation has made SuperDevMode much faster. But how does one get the most out of this new path and what comes next? I will be covering incremental onboarding procedures, debugging/output size tricks/flags and the direction of the compiler for GWT 3.0.

Lunch

  • What's New with Super Dev Mode

    Brian Slesinsky / Google

    Room 1

    1:00–1:50 pm

    I'll talk about the changes we made to make Super Dev Mode ready for everyone to use in GWT 2.7, provide some tips to make debugging easier with today's browsers, and talk about upcoming changes to Chrome to make Java data structures easier to debug.

  • CSS3 and GWT in perfect harmony

    Julien Dramaix / Arcbees

    Room 1

    2:00–2:50 pm

    CSS3 is became inescapable if you want to make beautiful, responsive and performing application. GWT lacked in terms of CSS3 support. The new CssResource will allow you to use the Google Closure stylesheets within your GWT application, allowing any CSS3 features to be also optimized by the GWT compiler. Join me for this talk to learn how to leverage Google closure stylesheets within your GWT applications.

  • Building a GWT 3.0 app with java 8, elemental, JsInterop and web components

    James Nelson / Appian

    Room 1

    11:00–11:50 am

    Exploring the future of Gwt by building a real world application with java 8, elemental, JsInterop and web components; in this session, we will create a web gui for a Gwt recompiler in Gwt using the latest features. All source code will be provided.

  • Deep dive in JS Interop

    Ray Cromwell / Google

    Room 2

    2:00–2:50 pm

    GWT 2.7 introduced the beginnings of a new, more efficient, more idiomatic Javascript Interop system to replace JSNI wrapping. This session will dive deeply into the new specification, showing you how easy it is to consume external Javascript APIs, as well as export reusable Javascript libraries out of GWT code.

  • Disassembling Compiled GWT Sources

    Colin Alworth / Sencha

    Room 3

    1:00–1:50 pm

    Ever tried to take apart a compiled, obfuscated GWT app? In this talk we'll look at the optimizations the compiler performs and the structure of compiled JavaScript it emits, and try to work our way backward, seeing what can be picked out, and what is harder to see.

Break

  • Google Inbox: Multi Platform Native Apps with GWT and J2ObjC

    Ray Cromwell / Google

    Room 1

    3:30–4:20 pm

    In this session, learn how Google built the high performance Inbox application across three platforms simultaneously using GWT and J2ObjC. See how the new JsInterop system enables a new class of hybrid Web applications.

  • History of GWT

    Bruce Johnson / FullStory
    Joel Webber / FullStory

    Room 1

    4:30–5:20 pm

    Join Bruce and Joel, the original creators of GWT, in a funny-but-technical trip down memory lane. The guys will discuss the evolution of GWT from its earliest prototypes to the rock-solid tool suite it has become. Anecdotes will span pivotal design decisions, crazy discoveries about browser behavior, API choices, and much more. Irreverence warning: there may also be a bit of complaining about the still-unsolved problems in web development.

  • Remote controlling a drone with Spring & Vaadin

    Josh Long / Pivotal
    Peter Lehto / Vaadin

    Room 1

    5:30–6:20 pm

    Wouldn't it be crazy to fly a small drone or helicopter with your phone or tablet running nothing but a web browser? This session will tell you all about it!

    Imagine a fully functional touch based user interface for remote controlling a small drone or a helicopter. This is doable with latest experimental integrations around drone controlling backend applications over WIFI with touch based control interface built with GWT or Vaadin. During the session such a system will be presented with full technology stack starting from GWT based frontend to the actual backend controller application.

    A live drone will also be flown during the presentation maintaining a safe distance from the audience.

  • Comparing GWT Transport Mechanisms

    Leif Åstrand / Vaadin

    Room 2

    3:30–4:20 pm

    There are lots of options for transporting data to and from your GWT app running in the browser. Solutions like GWT RPC, RequestFactory and Protocol Buffers promise to do the heavy lifting for you. Or then you might want to roll your own based on RequestBuilder or similar low level APIs. To further complicate things, frameworks like Errai and Vaadin also provide their own communication mechanisms. Which one should you use? What are the pros and cons? Let’s find out!

  • Automated testing of web apps

    Jonatan Kronqvist / Vaadin

    Room 2

    4:30–5:20 pm

    Testing is an important part of all software projects – and so is keeping sane. In order to not make the developers and testers lose their minds while verifying that a huge amount of features still work, the testing should be automated. What’s worse, the complexity of the underlying technologies often make it more challenging to test web applications than conventional software.

    This talk will show you some tools and methodologies for automated testing of web apps and especially the user interface layer of web apps. It will discuss how to architect a web app for easy testing and what kind of tests should go where and in which situation. We’ll even have a look at how the customer requirements can be automatically tested and verified to work – exactly as specified by the ones paying the bills.

  • J2ObjC: Sharing Java Code with iOS Applications

    Tom Ball / Google

    Room 2

    5:30–6:20 pm

    J2ObjC is an open-source Java to Objective-C transpiler for iOS apps, which is used by apps like Google's Inbox to share code between their GWT, Android, and iOS implementations. This talk provides a deep dive into J2ObjC: how it is designed, what differences there are between shared code on different platforms, and some best practices for minimizing code rewriting. A quick review of a sample Xcode project will demonstrate how Java sources can be included in iOS apps.

  • Best development practices for GWT web applications

    Julien Dramaix / Arcbees

    Room 3

    3:30–4:20 pm

    GWT is a powerful framework for developing complex web applications. However developing large applications with multiple developers can quickly become problematic. How to keep some structure in the code ? Pass information through developers ? Or keep a high level of quality code? In this presentation, we will talk about several good practices, tools and libraries and the processes we use at ArcBees to develop quickly large quality GWT applications.

  • Functional and reactive UI programming

    Henri Muurimaa / Vaadin

    Room 3

    4:30–5:20 pm

    The functional reactive programming style approaches application logic by turning data flows into composable entities called observables. This is useful in the backend, but it can be leveraged in the front end, too. If we consider UI events from user as value streams we can express all of our UI logic as combinations of observables. Join this presentation to find out a new way of building user interfaces.

  • Improving the HTML table: a quick guide on getting in over your head

    Leif Åstrand / Vaadin

    Room 3

    5:30–6:20 pm

    Smooth continuous scrolling through millions of concurrently edited rows on an old iPad. Sounds easy, right? To achieve 60fps, you need to find the right data, insert it into the DOM and get the browser to layout and render in less than 16 ms. And then there’s also this detail about how overflow: auto works with tens of millions of pixels...

    This presentation will look at all the low-level challenges we faced when pushing the limits of browsers for the new Grid widget for GWT and Vaadin.

  • Demo Stage

    Session host: Colin Alworth / Sencha

    Room 4

    3:30-6:20 pm

    Come and demo what you have built with GWT. Learn from projects others have done. Network. Register your demo here to reserve presentation slot or just walk in.

Evening party

  • BOF: GWT Roadmap

    Room 3

    6:30–7:20 pm

    Birds of a Feather sessions are open conversations around a pre-selected topic.

  • BOF: Mobile apps with GWT

    Room 3

    7:30–8:20 pm

    Birds of a Feather sessions are open conversations around a pre-selected topic.

  • BOF: Web Components

    Room 4

    6:30–7:20 pm

    Birds of a Feather sessions are open conversations around a pre-selected topic.

  • BOF: GWT, Angular, Dart and Polymer

    Room 4

    7:30–8:20 pm

    Birds of a Feather sessions are open conversations around a pre-selected topic.

Friday Jan 23th

Registration

  • Ecosystem Keynote

    Hosted by: Joonas Lehtinen / Vaadin

    Room 1

    8:30–9:30 am

    One of the best parts of GWT is its wonderful ecosystem. In this keynote we'll show the pulse of the community by announcing the results for the Future of GWT survey 2015. Then some of the most visible players in the GWT ecosystem will show the latest and greatest features they have built for their frameworks.

Break

  • Introduction to Vaadin

    Henri Muurimaa / Vaadin

    Room 1

    10:00–10:50 am

    Vaadin is a popular web framework that makes it possible to write rich user interfaces in server-side Java. Writing an application that lazily loads large amounts of data from the server, includes drag-and-drop, keyboard navigation and compelling visualizations would not require writing any HTML, JavaScript or resigning a REST API. While the server centric development model provides the best productivity, Vaadin also supports client-side development though the GWT based Java to JavaScript compiler as well as JavaScript. The default looks of the application can be customized with CSS and Sass.

    The presentation gives an overview to Vaadin and explain how it works. We'll also discuss on what are the differences and the relationship between Vaadin and GWT. The session should give you everything you need to get started building your own apps with the free Apache-licensed Vaadin.

  • Singular - Reimagining AngularJS in Java

    Daniel Kurka / Google

    Room 1

    11:00–11:50 am

    Examining what AngularJS could be with the benefit of compile-time bindings and the Java language. What it would mean for the programming model and performance. But why stop there. Lets take a look at the opportunity to cross compiling to native mobile platforms as well.

    This is the first public discussion of the Singular project. Join the session, learn about Singular and contribute your feedback on this still experimental project.

  • How to improve your productivity using GWTP

    Christian Goudreau / Arcbees

    Room 2

    10:00–10:50 am

  • Easy cross-platform RPC with Jersey and resty-gwt

    David Chandler / Sencha

    Room 2

    11:00–11:50 am

    Creating a service layer with GWT has changed significantly from the initial GWT-RPC to frameworks based on the Command pattern such as gwt-dispatch and the RequestFactory. In this presentation, we'll talk about the pros and cons of various approaches and show how the open source resty-gwt framework combines the simplicity of GWT-RPC service interfaces with the power of the command pattern for caching and XSRF protection. You'll learn how easy it is to create a REST+JSON API on the server using Jersey, App Engine, and Objectify 5 and how to create a generic CRUD API on both client and server. Finally, you'll learn how to implement an authentication filter on the server and authentication callbacks in the GWT client using Jersey and resty-gwt. As a bonus, the presentation will be based on an open source sample project with a working Maven pom for all of the above.

  • Speed up your GWT coding with gQuery

    Manuel Carrasco Moñino / Vaadin

    Room 3

    10:00–10:50 am

    GwtQuery is a rewrite of the jQuery popular library with has brought to the GWT world its sexy API and its simplicity for doing complex things.

    In this session Manuel will provide an overview of the fundamentals of gQuery, how to setup and use it, and how to write code which being laborious in GWT can be simplified using gQuery.

  • Using GWT and Vaadin with IntelliJ IDEA

    Breandan Considine / JetBrains

    Room 3

    11:00–11:50 am

    Vaadin and IntelliJ IDEA can help accelerate your development lifecycle and simplify the process of building, testing and deploying large GWT applications. Learn how to use tools like Super Dev Mode, advanced IDE features, framework support and continuous integration to tap into GWT’s full potential and drive your application infrastructure with Vaadin.

Lunch

  • Introduction to GXT

    David Chandler / Sencha

    Room 1

    1:00–1:50 pm

    "Sencha GXT is an enterprise-class UI framework based on GWT for building amazing HTML5 apps using Java. It allows you to write applications in Java and compile them into highly optimized cross-browser HTML5 apps. Sencha GXT provides out-of-the-box support for high-performance widgets, feature-rich templates, layouts, advanced charting, data loaders, stores, and much more, for building the most complex user interfaces with ease. The core advantage of using Sencha GXT is development time savings, since the developers can concentrate on building the desired functionality as opposed to underlying framework complexities.

    This session provides an overview of the Sencha GXT framework and explains the basics of how to get started with Sencha GXT.

  • Rapidly Build Cloud IDEs with UberFire

    Alexandre Porcelli / Red Hat

    Room 1

    2:00–2:50 pm

    Learn how to build rich cloud-based IDEs using UberFire. UberFire is a web framework for a superior experience in building extensible workbenches and console type applications. Cloud-based IDEs are a big trend now, so it seemed like a perfect match.

    In this session Alexandre and Michael will explore, in a polyglot fashion, all UberFire features that are key for Cloud IDEs, such as:

    • The Virtual File System API that uses git as its default backend;
    • Multiple perspective definitions providing mechanisms for task-oriented interaction with resources, multi-tasking and information filtering;
    • A flexible windows system where developers can use different layout managers;
    • Plugin-based editors that can be developed using GWT, ErraiUI, AngularJS or your preferred language or framework.

    By using UberFire to build such a tool you also get for free an HA enabled environment plus:

    • A metadata with search capabilities that will automatically index all your git repositories;
    • An unified security framework;
    • A lightweight Maven repository manager.

    Attendees will see an overview of challenges faced when building a Cloud IDE, how Uberfire approaches these challenges, lessons learned in a real world use case (obtained by building Red Hat JBoss BRMS and BPMS platforms) and mostly important: a cool live demo.

  • Cell Widgets in the Wild

    Chris DiGiano / Google

    Room 2

    1:00–1:50 pm

    Cell widgets offer the promise of fast, highly-scalable tables, lists, and trees in GWT, but they also don’t fit neatly into common UI design patterns. In this talk I’ll describe some of the challenges one encounters when going beyond the example code to apply cell widgets in complex, real-world systems like Google Groups. I’ll present techniques that developers at Google have used to manage the complexities of using cell widgets for event handling and rendering of non-trivial DOM structures.

  • Tessell: A functional* reactive framework for GWT

    Stephen Haberman / Bizo

    Room 2

    2:00–2:50 pm

    While few would call Java or GWT "functional", the main idea of reactive programming can be applied to GWT applications to radically simplify large applications with complex behaviors. Tessell is a framework that provides a reactive core and a sophisticated DSL for binding smart models with GWT widgets.

  • Java EE with Vaadin

    Peter Lehto / Vaadin

    Room 3

    1:00–1:50 pm

    Vaadin is Java framework for rapid development of highly interactive HTML5-based web applications. Because of server-driven nature Vaadin can easily be integrated with server-side Java EE features such as EJBs and JPA. During this session we will look in detail on how multi-view Vaadin applications are built and coupled with Java EE based business systems using Context and Dependency Injection (CDI). Important topics covered within the session are the best practices of Vaadin enterprise integration design, Vaadin-CDI addon for providing smooth connectability to the backend as well as known best practices which Vaadin teams uses in their daily work.

  • Visual designer

    Marc Englund / Vaadin

    Room 3

    2:00–2:50 pm

    Whether UI should be built programmatically, declaratively or with a visual tool is always a good flamewar starter. In this session we discuss benefits of each approach and design Vaadin team took when redesigning our visual design tool from scratch. While the tool today is limited to Vaadin based UI, we will discuss possiblities of expanding the use to GWT and Web Components in general.

  • Workshop: Contributing to GWT

    Manuel Carrasco Moñino / Vaadin
    Julien Dramaix / Arcbees

    Room 4

    1:00-2:50 pm

    Since GWT is open source, everybody is welcome to submit patches to the GWT project site and the source base. This workshop guides you through the set up of your development environment to get you up and running as fast as possible and walks you through the committing procedures. In addition to this, active committers to GWT will be present to share their experiences.

    Before the workshop, please setup your laptop according to these instructions.

Break

  • Vaadin with Polymer, GWT and AngularJS

    Leif Åstrand / Vaadin
    Joonas Lehtinen / Vaadin

    Room 1

    3:30–4:20 pm

    Web Components promise a revolution in the way the Web is built by standardizing how a widget and the rest of the web page deal with each other. This is excellent news - now all web frameworks can be friends. Or can they?

    This presentation will show what we have been cooking in Vaadin Labs with Web Components. Lets not spoil the surprise in here. Expect something interesting ;)

  • Rich HTML5 Web Apps: Introduction to Errai 3

    Christian Sadilek / Red Hat

    Room 2

    3:30–4:20 pm

    Building small web sites with some basic functionality is easy using any of the modern JavaScript frameworks but implementing a maintainable large-scale web application is a tough job. GWT has a track record of being a stable and robust programming toolkit that is perfectly suited for building large web applications. Errai enables your team to share Java EE (JPA, JAX-RS, CDI) code between the client and the server and reuse functionality across application layers. In this session, you will learn how to build rich web applications the toolable, typesafe way, without boilerplate using Errai's concise programming model. Next-generation web applications can now be built by combining the best aspects of JavaScript, Java and HTML5 using Errai.

  • Building HTML5 Animation Editor in GWT

    Dmitry Skavish / Animatron

    Room 3

    3:30–4:20 pm

    Animatron is complex webapp for designing and editing interactive HTML5 animations right in the browser. The resulting animation can be exported as HTML5 code, as video, animated gif or animated SVG. The editor is built entirely in GWT and uses HTML5 canvas for most of its UI allowing us quick prototyping and the backend is a mix of Java and Scala.

    In this session you will learn how we build it, what were the tradeoffs, why we chose to use canvas based UI, how we render animations to video using the same Java code which we use on the client and more.

  • GWT Steering Committee Panel & closing

Tuesday Jan 27th

Registration

  • Keynote: GWT 3

    Ray Cromwell / Google

    Room 1

    8:30–9:30 am

    A lot of change happened in 2014 for both GWT and Java, and a lot more will change in 2015. Learn about the improvements made in speed, size, and development, new hybrid application models, and where we go from here.

Break

  • Singular - Reimagining AngularJS in Java

    Daniel Kurka / Google

    Room 1

    10:00–10:50 am

    Examining what AngularJS could be with the benefit of compile-time bindings and the Java language. What it would mean for the programming model and performance. But why stop there. Lets take a look at the opportunity to cross compiling to native mobile platforms as well.

    This is the first public discussion of the Singular project. Join the session, learn about Singular and contribute your feedback on this still experimental project.

  • Polymer and Elements

    Chris DiGiano / Google

    Room 1

    11:00–11:50 am

    The Web Components standards create a brand new set of primitives that makes it immensely easier to develop for the web. The Polymer library ties these primitives together to provide an opinionated way to declaratively create robust, encapsulated components that can be easily dropped into web apps. We'll walk through the sugaring that Polymer provides on top of Web Components, highlight different types of elements that the Polymer team and community is creating with the library, and show how complex web apps can be assembled from simple, interoperable Polymer elements.

  • Inside the compiler

    Roberto Lublinerman / Google

    Room 2

    10:00–10:50 am

    In this talk will explore the GWT compiler internals. We'll look at its overall architecture, the internal representations during the compilation process and explore in detail the different passes. This presentation will give you the insight needed to understand the compiler, contribute fixes and enable you to create new compiler passes.

  • Incremental compilation

    John Stalcup / Google

    Room 2

    11:00–11:50 am

    Incremental compilation has made SuperDevMode much faster. But how does one get the most out of this new path and what comes next? I will be covering incremental onboarding procedures, debugging/output size tricks/flags and the direction of the compiler for GWT 3.0.

Lunch

  • What's New with Super Dev Mode

    Brian Slesinsky / Google

    Room 1

    1:00–1:50 pm

    I'll talk about the changes we made to make Super Dev Mode ready for everyone to use in GWT 2.7, provide some tips to make debugging easier with today's browsers, and talk about upcoming changes to Chrome to make Java data structures easier to debug.

  • CSS3 and GWT in perfect harmony

    Julien Dramaix / Arcbees

    Room 1

    2:00–2:50 pm

    CSS3 is became inescapable if you want to make beautiful, responsive and performing application. GWT lacked in terms of CSS3 support. The new CssResource will allow you to use the Google Closure stylesheets within your GWT application, allowing any CSS3 features to be also optimized by the GWT compiler. Join me for this talk to learn how to leverage Google closure stylesheets within your GWT applications.

  • Disassembling Compiled GWT Sources

    Colin Alworth / Sencha

    Room 2

    1:00–1:50 pm

    Ever tried to take apart a compiled, obfuscated GWT app? In this talk we'll look at the optimizations the compiler performs and the structure of compiled JavaScript it emits, and try to work our way backward, seeing what can be picked out, and what is harder to see.

  • Deep dive in JS Interop

    Ray Cromwell / Google

    Room 2

    2:00–2:50 pm

    GWT 2.7 introduced the beginnings of a new, more efficient, more idiomatic Javascript Interop system to replace JSNI wrapping. This session will dive deeply into the new specification, showing you how easy it is to consume external Javascript APIs, as well as export reusable Javascript libraries out of GWT code.

Break

  • Google Inbox: Multi Platform Native Apps with GWT and J2ObjC

    Ray Cromwell / Google

    Room 1

    3:30–4:20 pm

    In this session, learn how Google built the high performance Inbox application across three platforms simultaneously using GWT and J2ObjC. See how the new JsInterop system enables a new class of hybrid Web applications.

  • J2ObjC: Sharing Java Code with iOS Applications

    Tom Ball / Google

    Room 1

    4:30–5:20 pm

    J2ObjC is an open-source Java to Objective-C transpiler for iOS apps, which is used by apps like Google's Inbox to share code between their GWT, Android, and iOS implementations. This talk provides a deep dive into J2ObjC: how it is designed, what differences there are between shared code on different platforms, and some best practices for minimizing code rewriting. A quick review of a sample Xcode project will demonstrate how Java sources can be included in iOS apps.

  • Building a GWT 3.0 app with java 8, elemental, JsInterop and web components

    James Nelson / Appian

    Room 1

    5:30–6:20 pm

    Exploring the future of Gwt by building a real world application with java 8, elemental, JsInterop and web components; in this session, we will create a web gui for a Gwt recompiler in Gwt using the latest features. All source code will be provided.

  • Comparing GWT Transport Mechanisms

    Leif Åstrand / Vaadin

    Room 2

    3:30–4:20 pm

    There are lots of options for transporting data to and from your GWT app running in the browser. Solutions like GWT RPC, RequestFactory and Protocol Buffers promise to do the heavy lifting for you. Or then you might want to roll your own based on RequestBuilder or similar low level APIs. To further complicate things, frameworks like Errai and Vaadin also provide their own communication mechanisms. Which one should you use? What are the pros and cons? Let’s find out!

  • Automated testing of web apps

    Jonatan Kronqvist / Vaadin

    Room 2

    4:30–5:20 pm

    Testing is an important part of all software projects – and so is keeping sane. In order to not make the developers and testers lose their minds while verifying that a huge amount of features still work, the testing should be automated. What’s worse, the complexity of the underlying technologies often make it more challenging to test web applications than conventional software.

    This talk will show you some tools and methodologies for automated testing of web apps and especially the user interface layer of web apps. It will discuss how to architect a web app for easy testing and what kind of tests should go where and in which situation. We’ll even have a look at how the customer requirements can be automatically tested and verified to work – exactly as specified by the ones paying the bills.

  • Improving the HTML table: a quick guide on getting in over your head

    Leif Åstrand / Vaadin

    Room 2

    5:30–6:20 pm

    Smooth continuous scrolling through millions of concurrently edited rows on an old iPad. Sounds easy, right? To achieve 60fps, you need to find the right data, insert it into the DOM and get the browser to layout and render in less than 16 ms. And then there’s also this detail about how overflow: auto works with tens of millions of pixels...

    This presentation will look at all the low-level challenges we faced when pushing the limits of browsers for the new Grid widget for GWT and Vaadin.

  • Best development practices for GWT web applications

    Julien Dramaix / Arcbees

    Room 3

    3:30–4:20 pm

    GWT is a powerful framework for developing complex web applications. However developing large applications with multiple developers can quickly become problematic. How to keep some structure in the code ? Pass information through developers ? Or keep a high level of quality code? In this presentation, we will talk about several good practices, tools and libraries and the processes we use at ArcBees to develop quickly large quality GWT applications.

  • Functional and reactive UI programming

    Henri Muurimaa / Vaadin

    Room 3

    4:30–5:20 pm

    The functional reactive programming style approaches application logic by turning data flows into composable entities called observables. This is useful in the backend, but it can be leveraged in the front end, too. If we consider UI events from user as value streams we can express all of our UI logic as combinations of observables. Join this presentation to find out a new way of building user interfaces.

  • Remote controlling a drone with Spring & Vaadin

    Peter Lehto / Vaadin
    Fredrik Rönnlund / Vaadin

    Room 3

    5:30–6:20 pm

    Wouldn't it be crazy to fly a small drone or helicopter with your phone or tablet running nothing but a web browser? This session will tell you all about it!

    Imagine a fully functional touch based user interface for remote controlling a small drone or a helicopter. This is doable with latest experimental integrations around drone controlling backend applications over WIFI with touch based control interface built with GWT or Vaadin. During the session such a system will be presented with full technology stack starting from GWT based frontend to the actual backend controller application.

    A live drone will also be flown during the presentation maintaining a safe distance from the audience.

  • Demo Stage

    Session host: Colin Alworth / Sencha

    Room 4

    3:30-6:20 pm

    Come and demo what you have built with GWT. Learn from projects others have done. Network. Register your demo here to reserve presentation slot or just walk in.

Evening party


(BOF: Singular in room 2 starting from 6:30pm)
  • BOF: GWT Roadmap

    Room 3

    6:30–7:20 pm

    Birds of a Feather sessions are open conversations around a pre-selected topic.

  • BOF: Mobile apps with GWT

    Room 3

    7:30–8:20 pm

    Birds of a Feather sessions are open conversations around a pre-selected topic.

  • BOF: Web Components

    Room 4

    6:30–7:20 pm

    Birds of a Feather sessions are open conversations around a pre-selected topic.

  • BOF: GWT, Angular, Dart and Polymer

    Room 4

    7:30–8:20 pm

    Birds of a Feather sessions are open conversations around a pre-selected topic.

Wednesday Jan 28th

Registration

  • Ecosystem Keynote

    Hosted by: Joonas Lehtinen / Vaadin

    8:30–9:30 am

    One of the best parts of GWT is its wonderful ecosystem. In this keynote we'll show the pulse of the community by announcing the results for the Future of GWT survey 2015. Then some of the most visible players in the GWT ecosystem will show the latest and greatest features they have built for their frameworks.

Break

  • Introduction to Vaadin

    Henri Muurimaa / Vaadin

    Room 1

    10:00–10:50 am

    Vaadin is a popular web framework that makes it possible to write rich user interfaces in server-side Java. Writing an application that lazily loads large amounts of data from the server, includes drag-and-drop, keyboard navigation and compelling visualizations would not require writing any HTML, JavaScript or resigning a REST API. While the server centric development model provides the best productivity, Vaadin also supports client-side development though the GWT based Java to JavaScript compiler as well as JavaScript. The default looks of the application can be customized with CSS and Sass.

    The presentation gives an overview to Vaadin and explain how it works. We'll also discuss on what are the differences and the relationship between Vaadin and GWT. The session should give you everything you need to get started building your own apps with the free Apache-licensed Vaadin.

  • GWT on mobile with mgwt

    Katharina Fahnenbruck / MGWT

    Room 1

    11:00–11:50 am

    Building mobile applications with mgwt is a fun and easy way to use your GWT skills to write mobile applications.

    Join me for this sessions to learn how to use mgwt for your mobile applications and how the next version of mgwt will evolve.

  • How to improve your productivity using GWTP

    Christian Goudreau / Arcbees

    Room 2

    10:00–10:50 am

  • GWT Programming With Xtend

    Sven Efftinge / Itemis
    Anton Kosyakov / Itemis

    Room 2

    11:00–11:50 am

    Xtend is a modern programming language that is 100% compatibly with existing Java libraries and even translates to readable Java source code. With it's slick syntax and powerful features such as lambdas, operator overloading and compile-time macros you can turn any verbose piece of Java code into a small and elegant piece of expressive Xtend code.

    In this session we will show how Xtend can be used to program GWT applications and how well the typical GWT idioms are supported by the language.

  • DIY: Computer Vision with GWT

    Alberto Mancini / Jooink
    Francesca Tosi / Jooink

    Room 3

    10:00–10:50 am

    The talk focuses on how to use GWT to mix some of our beloved plain old java libraries (BoofCV and NyARtoolkit for instance) with WebRTC and WebGL to make realtime computer vision and augmented reality: right in the browser, plugin free and … even mobile with mGWT.

    We will show how much GWT, jointly with some of the the new HTML5’s API, enables browser based “compute intensive” applications.

  • Speed up your GWT coding with gQuery

    Manuel Carrasco Moñino / Vaadin

    Room 3

    11:00–11:50 am

    GwtQuery is a rewrite of the jQuery popular library with has brought to the GWT world its sexy API and its simplicity for doing complex things.

    In this session Manuel will provide an overview of the fundamentals of gQuery, how to setup and use it, and how to write code which being laborious in GWT can be simplified using gQuery.

Lunch

  • Introduction to GXT

    David Chandler / Sencha

    Room 1

    1:00–1:50 pm

    "Sencha GXT is an enterprise-class UI framework based on GWT for building amazing HTML5 apps using Java. It allows you to write applications in Java and compile them into highly optimized cross-browser HTML5 apps. Sencha GXT provides out-of-the-box support for high-performance widgets, feature-rich templates, layouts, advanced charting, data loaders, stores, and much more, for building the most complex user interfaces with ease. The core advantage of using Sencha GXT is development time savings, since the developers can concentrate on building the desired functionality as opposed to underlying framework complexities.

    This session provides an overview of the Sencha GXT framework and explains the basics of how to get started with Sencha GXT.

  • Rapidly Build Cloud IDEs with UberFire

    Michael Anstis / Red Hat
    Mauricio Salatino / Red Hat

    Room 1

    2:00–2:50 pm

    Learn how to build rich cloud-based IDEs using UberFire. UberFire is a web framework for a superior experience in building extensible workbenches and console type applications. Cloud-based IDEs are a big trend now, so it seemed like a perfect match.

    In this session Alexandre and Michael will explore, in a polyglot fashion, all UberFire features that are key for Cloud IDEs, such as:

    • The Virtual File System API that uses git as its default backend;
    • Multiple perspective definitions providing mechanisms for task-oriented interaction with resources, multi-tasking and information filtering;
    • A flexible windows system where developers can use different layout managers;
    • Plugin-based editors that can be developed using GWT, ErraiUI, AngularJS or your preferred language or framework.

    By using UberFire to build such a tool you also get for free an HA enabled environment plus:

    • A metadata with search capabilities that will automatically index all your git repositories;
    • An unified security framework;
    • A lightweight Maven repository manager.

    Attendees will see an overview of challenges faced when building a Cloud IDE, how Uberfire approaches these challenges, lessons learned in a real world use case (obtained by building Red Hat JBoss BRMS and BPMS platforms) and mostly important: a cool live demo.

  • Cell Widgets in the Wild

    Chris DiGiano / Google

    Room 2

    1:00–1:50 pm

    Cell widgets offer the promise of fast, highly-scalable tables, lists, and trees in GWT, but they also don’t fit neatly into common UI design patterns. In this talk I’ll describe some of the challenges one encounters when going beyond the example code to apply cell widgets in complex, real-world systems like Google Groups. I’ll present techniques that developers at Google have used to manage the complexities of using cell widgets for event handling and rendering of non-trivial DOM structures.

  • Easy cross-platform RPC with Jersey and resty-gwt

    David Chandler / Sencha

    Room 2

    2:00–2:50 pm

    Creating a service layer with GWT has changed significantly from the initial GWT-RPC to frameworks based on the Command pattern such as gwt-dispatch and the RequestFactory. In this presentation, we'll talk about the pros and cons of various approaches and show how the open source resty-gwt framework combines the simplicity of GWT-RPC service interfaces with the power of the command pattern for caching and XSRF protection. You'll learn how easy it is to create a REST+JSON API on the server using Jersey, App Engine, and Objectify 5 and how to create a generic CRUD API on both client and server. Finally, you'll learn how to implement an authentication filter on the server and authentication callbacks in the GWT client using Jersey and resty-gwt. As a bonus, the presentation will be based on an open source sample project with a working Maven pom for all of the above.

  • Java EE with Vaadin

    Peter Lehto / Vaadin

    Room 3

    1:00–1:50 pm

    Vaadin is Java framework for rapid development of highly interactive HTML5-based web applications. Because of server-driven nature Vaadin can easily be integrated with server-side Java EE features such as EJBs and JPA. During this session we will look in detail on how multi-view Vaadin applications are built and coupled with Java EE based business systems using Context and Dependency Injection (CDI). Important topics covered within the session are the best practices of Vaadin enterprise integration design, Vaadin-CDI addon for providing smooth connectability to the backend as well as known best practices which Vaadin teams uses in their daily work.

  • Visual designer

    Marc Englund / Vaadin

    Room 3

    2:00–2:50 pm

    Whether UI should be built programmatically, declaratively or with a visual tool is always a good flamewar starter. In this session we discuss benefits of each approach and design Vaadin team took when redesigning our visual design tool from scratch. While the tool today is limited to Vaadin based UI, we will discuss possiblities of expanding the use to GWT and Web Components in general.

  • Workshop: Contributing to GWT

    Manuel Carrasco Moñino / Vaadin
    Julien Dramaix / Arcbees

    Room 4

    1:00-2:50 pm

    Since GWT is open source, everybody is welcome to submit patches to the GWT project site and the source base. This workshop guides you through the set up of your development environment to get you up and running as fast as possible and walks you through the committing procedures. In addition to this, active committers to GWT will be present to share their experiences.

    Before the workshop, please setup your laptop according to these instructions.

Break

  • Vaadin with Polymer, GWT and AngularJS

    Leif Åstrand / Vaadin
    Joonas Lehtinen / Vaadin

    Room 1

    3:30–4:20 pm

    Web Components promise a revolution in the way the Web is built by standardizing how a widget and the rest of the web page deal with each other. This is excellent news - now all web frameworks can be friends. Or can they?

    This presentation will show what we have been cooking in Vaadin Labs with Web Components. Lets not spoil the surprise in here. Expect something interesting ;)

  • Rich HTML5 Web Apps: Introduction to Errai 3

    Christian Sadilek / Red Hat

    Room 2

    3:30–4:20 pm

    Building small web sites with some basic functionality is easy using any of the modern JavaScript frameworks but implementing a maintainable large-scale web application is a tough job. GWT has a track record of being a stable and robust programming toolkit that is perfectly suited for building large web applications. Errai enables your team to share Java EE (JPA, JAX-RS, CDI) code between the client and the server and reuse functionality across application layers. In this session, you will learn how to build rich web applications the toolable, typesafe way, without boilerplate using Errai's concise programming model. Next-generation web applications can now be built by combining the best aspects of JavaScript, Java and HTML5 using Errai.

  • Hybrid enterprise android project with GWT & Phonegap

    Florian Kammermann / Swiss Post
    Thomas Jost / Swiss Post

    Room 3

    3:30–4:20 pm

    Swiss Post will replace 20’000 postman scanners with new Android based scanner devices. The software was built from ground up new on a hybrid Phonegap/GWT base. In addition to some specific features like background processes or native to JS crosscompilation with GWT there was as well automated regression testing a big part of the project. In this talk we will present some special development implementation patterns and as well the very extensive quality assurance process based on Selenium / Appium test environement.

  • GWT Steering Committee Panel & closing

Ask anything from the GWT Steering Committee in the closing panel.

Submit question to panel

Mountain View

California

The conference is arranged at the Computer History Museum where computer history is combined with the future of the web into a beautiful mashup on Jan 22–23rd.

More info about the venue

Munich

Germany

Ultramodern Hilton Park Hotel will host 40+ technical sessions focused solely on GWT related topics for two days on Jan 27–28th.

More info about the venue

Why attend?

Learn where GWT and the related frameworks like Vaadin, GXT and Errai are going, what is hot at the moment and what are the best practices for building something great.
Meet the key people in the GWT community, take a deep dive into the technology and compare your experiences with others who are living and breathing GWT.
Get inspired by the latest developments in HTML5 - both on mobile and desktop. Start seeing the future of how to build the next generation user experience on web platform.
Register Now

Follow GWT.create

Official event partners