Blog

Re-introducing OSGi support for npm-based Flow projects

By  
Matti Tahvonen
Matti Tahvonen
·
On Jan 5, 2021 1:10:15 PM
·
In Product

Frame (11)

Vaadin has been a popular UI technology for OSGi-based Java solutions for years. Many OSGi users are still on Vaadin 7 or 8. Last year their migrations almost stalled, as Vaadin 14 only supported OSGi in the “compatibility mode". Compatibility mode uses the deprecated Bower + WebJars-based solution to compile front-end resources and could cause issues in the future with certain add-ons. Finally, this is now changing.

We’re close to shipping npm-mode support for OSGi developers. Development mode is not fully supported yet: working with resources compiled to the front-end bundle is not as fluent as in other environments, but working with pure Java is already working well.

We’ve been working closely with the community to implement the features, but we’d love to get feedback from a wider set of users to figure out if we still need to revise our solution. OSGi  users can try the feature with the SNAPSHOT releases of Vaadin 19. The base starter project for OSGi currently defaults to the 19.0-SNAPSHOT version and is the best way to get started.

Available in the Prime tier in the future - more features coming in 2021

As developing OSGi support is taking a relatively large amount of resources—for a relatively small portion of users—the functionality will be available in the Prime pricing tier in the future. We know this may not seem fair for all OSGi users, but we need to finance the increased maintenance burden for all components, frameworks and technology integrations. The existing compatibility-mode support in Vaadin 14 will remain Apache-2 licensed.

Our feature gate for Vaadin 19 is closing, but we’ll continue with OSGi-related development in 2021. In addition to improving the development workflow, we plan to improve the integration with declarative services, build a modular UI example (in separate OSGi bundles), and start improving support for Karaf to provide a ready-made “Vaadin feature” that you can drop in.

Submit feedback and help

The feedback we get from you will help us to make these new features shine. The usual channels for feedback are available. If you find a bug or have an enhancement idea, file it directly to the new OSGi repository in GitHub. To discuss features, pricing or for help setting up the new solution for development, comment below, or use the forum or our new community chat Discord.

Matti Tahvonen
Matti Tahvonen
Matti Tahvonen has a long history in Vaadin R&D: developing the core framework from the dark ages of pure JS client side to the GWT era and creating number of official and unofficial Vaadin add-ons. His current responsibility is to keep you up to date with latest and greatest Vaadin related technologies. You can follow him on Twitter – @MattiTahvonen
Other posts by Matti Tahvonen