I have a real world test case for trying out new web technologies: a weekly allowance application for my kids where they register the chores they do, and we register payments.
The various technologies tried have in common, that: 1. They are web based 2. The are Java/OSGi based 3. I'm running the web application in karaf Right now the repository have two working branches using-primefaces (uses JSF and primefaces) https://github.com/steinarb/ukelonn/tree/using-primefaces using-vaadin (uses vaadin touchkit) https://github.com/steinarb/ukelonn/tree/using-vaadin there is a barebones hello world rendersnake variant on using-rendersnake https://github.com/steinarb/ukelonn/tree/using-rendersnake The vaadin version is currently "in production" and I'm pleased with the App-like look and feel of vaadin TouchKit. All code (class names, variable names, commits etc.) are in English. All UI texts are in Norwegian only (I'm not adverse to taking l10n pull requess...) and the README is in Norwegian. To try it out (using the gogoshell launcher, rather than karaf): git clone https://github.com/steinarb/ukelonn.git cd ukelonn mvn install cd ukelonn.gogoshell mvn pax:provision When the command line says "Runner has successfully finished his job!" it is possible to open http://localhost:8090/ukelonn/ in a browser. Username/password for a user session is jad/1ad Username/password for an admin session is on/ola12 The webapp in the gogoshell uses a derby in-memory database with default data. The user session interface is intended for use on a smartphone. The admin session interface is intended for use on a tablet. The README contains instructions, unfortunately in Norwegian only, for how to run the webapp in karaf, both with the derby test database and with a real PostgreSQL database. Other interesting things in this application, are: 1. Using shiro for authentication and authorization 2. Piggy-backing feature creation on the bundles (ie. each bundle creates its own feature file and the module ukelonn.karaf createes a feature repository that can be added to karaf)
