Webinar: Vaadin TouchKit


New webinar coming up today, Thursday June 5th 2014 @ 3 PM CEST

Join Thomas Mattsson and Matti Tahvonen from Vaadin on how to create enterprise grade Vaadin TouchKit applications that work on all major smartphones (iOS, Android, Windows Phone). How do you create it?

Hi guys…i’m a beginner talking about vaddin, especially the touchkit addon…thats amazing tools…I have two questions:

  1. Is there a way to access hardware from devices with touchkit, like the camera, gps, etc…?

  2. Please talk about the offline mode…that is very important point for me in my next project and if i’m going to buy that…hehe…

Thanks in advance


The cause for the demo effect: missing beans.xml. Works with GlassFish, but apparently needed with wildfly (falls back to java ee 6 I guess, in ee7 no more needed). Sorry about the hazzle.

Here is the relevant steps to use CDI with TouchKit:

  1. Use CDIUIProvider

  2. add beans.xml

The example project: https://github.com/mstahv/touchkit-with-cdi


The example we used in the webinar now also uses TouchKit 4.0.0.beta1. Feel free to check that out:

Clean Beach project at github

Hi Bruno,

Mobile web apps, like TouchKi apps, have nowadays quite a nice access to “device API”. From your examples Geolocation has always worked and all major devices support “Image uploads” which is pretty much Camera support as they also let you take a new photo.

In case something is missing, you can always make “a wrapper app” for your web app. A common tool for that is PhoneGap. We actually have a blog entry in pipeline for that, probably out in next couple of weeks.

For offline mode examples, you should look at our demos called Parking and Vornitologist. Offline modes are written with Java as well, but with GWT (~ client side in Vaadin) to be more specific. In this case you are leaving the server, JVM and thus your application becomes as complex as average web app development. Thus, I’d really really suggest to consider what features are needed at offline and what not. Then only implement the really really needed parts for offline and otherwise enjoy better goodies of JVM and server side approach - I can assure, you will be much more productive when staying on server side.

In our demo apps we have implemented features to add new data, that then gets queued to local storage and then later posted to server, once network connection is on. Accessing existing data, doing analysis and sharing stuff with other people is in any case hard or impossible without network.


Thank you for the Webiner.

Now… IMO it would be helpful, and usefull for everyone, if you could try to add a bit of description to the webinar’s name. This was some kind of TouchKit intro for JEE gurus, or something. I am actually still not sure that’s the main issue I have with this webinar.

Hi Denis, thanks for watching!

You are right in that there was a bunch of Java EE stuff in the webinar… Unfortunately we didn’t have time to cover the basics of Java EE development; we already went over time explaining the testing aspects :slight_smile: We might have assumed a bit much regarding the audiences familiarity with JEE, very sorry about that. The main point we were trying to get across was that it doesn’t matter if you use Java EE, Spring or something else; enterprise quality code is code with structure, is maintainable, and is testable. It doesn’t matter what tech you use to achieve that. In this app I happened to use the MVP pattern with JavaEE, because that is something I am very familiar with.

If you have any questions about anything we said (or TouchKit / Java EE in general), please don’t hesitate to ask.

We have to stick with Vaadin6 for some time. What about Vaadin6 and TouchKit?


That’s just fine to stay with Vaadin 6 and TouchKit 3.x. New theme and Windows Phone support (and experimental FF support) are the things you might miss, but in case you are targeting to iOS and/or Android, it is still safe choise. Last maintenance release for TouchKit3 was just last week if I remember correctly.


Sorry, I mixed with the version numbers, it is 2.x series which is compatible with Vaadin 6. For some reason it has been hidden form our Directory, but from via maven you can still access it with:


Demo app + tutorial for it: