>>>>> 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>

Reply via email to