>>>>> Julian Feinauer <[email protected]>:
> 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>