Creating Mobile UI's for Iphone / Android / Touchkit


we are actually using Vaadin Touchkit in a cordova container (the app is loading in a iframe).
Now we are at the beginning of a continous development.
What is now a best practice if our focus is mobile-browser with touch ability?

The vaadin touchkit development is nearly dead, no one writes updates for it.

What do you think, is it a good way to use touchkit now and in future?
What happens if vaadin implements the version 10 (without gwt), does ist work then?

There are basically two main ways how we are approaching this (and one legacy)

We either make application responsive design, so that usability with mobile device is good. Sometimes it may require also specific component designs (e.g. Vaadin 8 ComboBox is not entirely mobile friendly). In our Polymer based component set (Core Elements) we have taken mobile usability into better focus. In Vaadin 10 (/Flow) we use that Polymer component set, which improves mobile usability of the responsive applications made with Vaadin 10 (/Flow) out of the box better than our previous frameworks. One of the good sides of this approach is that you do not need separate mobile application / sevlet like you needed with Touchkit. This approach do not yet include offline support. So it is applicable only when offline support is not needed, which rules out some cases. However this approach is applicable for many business apps cases.

The second alternative is to implement separate mobile app, entirely relying on pure frontend tech stack, e.g. like Polymer. We call this approach PWA (progressive web app). This takes one step further from responsive web app. PWA is actually technology agnostic and somewhat hazy term. But it practically means web app, that is responsive, has offline support, and can be “installed” as an app in mobile (= has manifest package for app icon, etc.). At the moment with framework you cannot do this strictly speaking, but sort of pseudo PWA is possible (since the term itself gives room of interpreation). Thus, if you for example need full functioning client side cache database with service worker, Polymer based app is perhaps the best approach. We naturally actively study how we could implement full blown PWA support in our Vaadin 10+ future versions.

Touchkit Vaadin 8 version itself is now opensourced. The main use case of it is to serve legacy support e.g. for applications that are migrated from Vaadin 7 to Vaadin 8 and where is no business case to rewrite the application with other stack yet. So it is still applicable path for certain applications.