>>>>> Julian Feinauer <j.feina...@pragmaticminds.de>: > Hi all, > we use the Vaadin Framework [1] in multiple projects as Frontend technology. > As I just recently started with Karaf I wanted to build a small example app > based on Vaadin and OSGI. > Although Vaadin claims to have OSGi support [2], it really doesn’t feel well > documented, properly tested and up to date. And it is lacking a good Karaf > integration like a feature or so. > An Example project is shown here [3] but its very implicit (uses embedded > Felix and tons of maven shenanigans as it looks).
> Does anyone here have experience with Vaadin or an idea on how one would > approach a Vaadin-OSGi Application? My ukelonn web application[1] has gone through several iterations: 1. A JSF application using PrimeFaces[2] (started in July 2016 and abandoned in December 2016) 2. A Vaadin application[3] (on master from December 2016 abandoned in August 2018) 3. A react.js application, with a REST API written using jersey[4], initially (ie from August 2018 to July 2019) styled with Material Design Lite (MDL)[5], but currently styled with bootstrap 4[6] In Vaadin I was using an extension called TouchKit[7] to get a mobile app'ish look on the application. However TouchKit was kind of, sort of, abandoned when moving to Vaadin 8. I tried getting the open sourced version of TouchKit[8] working, providing some Pull Requests to the project. But I never got the Vaadin8 version working[9], and sometime in the spring of 2018 gave up on TouchKit and started moving towards making ukelonn a react.js application, backed a REST API. And that approach proved to be so much conceptually simpler and so much easier to maintain, that I will never be going back again, I think. (I may switch react.js with something else, like Vue.js or Svelte.js, but for now react/redux with sagas seems like the simplest to program and debug) If anyone are interest I can try to outline the architecture of the react.js solution (can't do the same for the older versions, unfortunately, because I can't quite remember how they were put together...:-) ). References: [1] <https://github.com/steinarb/ukelonn> [2] <https://github.com/steinarb/ukelonn/tree/using-primefaces> [3] <https://github.com/steinarb/ukelonn/tree/using-vaadin> [4] <https://github.com/steinarb/ukelonn/tree/using-react> [5] <https://github.com/steinarb/ukelonn/tree/work/using-react-with-material-design-lite> [6] <https://github.com/steinarb/ukelonn/tree/work/using-react-with-bootstrap4> [7] <https://vaadin.com/docs/v7/touchkit/mobile-components.html> [8] <https://vaadin.com/blog/touchkit-is-dead-long-live-touchkit> [9] <https://github.com/steinarb/ukelonn/tree/work/using-vaadin-with-vaadin8>