Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vaadin Flow should be supported by Quarkus.io #5485

Closed
sandronm opened this issue Apr 14, 2019 · 12 comments
Closed

Vaadin Flow should be supported by Quarkus.io #5485

sandronm opened this issue Apr 14, 2019 · 12 comments

Comments

@sandronm
Copy link

Because the Quarkus project allows live reload of jar, this could be really usefull to improve the Vaadin development experience.

https://quarkus.io/

If it is already possible, please create a tutorial explaining how to configure our project :-)

@pleku
Copy link
Contributor

pleku commented Apr 14, 2019

Yes, we'll definitely look at this at some point in the near future, but not a top priority at the moment.

Live reload is already possible with Vaadin using the Hotswap agent, spring-boot-devtools or JRebel. Quarkus could bring additional benefits and might be preferred if you use it already, but just to get live reload for development time it is not necessary.

@moewes
Copy link

moewes commented Aug 18, 2019

I've made a POC with quarkus 0.20 und Vaadin 13. You may take a look at https://github.com/moewes/quarkus-vaadin-lab

@DemiusAcademius
Copy link

DemiusAcademius commented Nov 26, 2019

The final version of Quarkus has already been released:
https://quarkus.io/blog/quarkus-1-0-0-Final-bits-are-here/
and also exists:
https://github.com/Nano-Vaadin-Demos/nano-vaadin-quarkus
official expansion will bring a brighter future :)

@sanderPostma
Copy link

Vote-up
I was able to make the vaadin-demo-business-app working on Vaadin14 in production mode using & tweaking moewes's POC.
dev-mode is more difficult. After adding ServletBuildItem.builder .addInitParam("project.basedir", ...) .addInitParam("vaadin.frontend.token.file",...) in VaadinProcessor it starts up, but still getting lots of nasty errors in the browser console.
It would be better if someone experience debugging the Vaadin client side gave it a try. Maybe there are just a few things missing.

@mbrem
Copy link

mbrem commented Oct 13, 2020

Vote-up
I was able to make the vaadin-demo-business-app working on Vaadin14 in production mode using & tweaking moewes's POC.
dev-mode is more difficult. After adding ServletBuildItem.builder .addInitParam("project.basedir", ...) .addInitParam("vaadin.frontend.token.file",...) in VaadinProcessor it starts up, but still getting lots of nasty errors in the browser console.
It would be better if someone experience debugging the Vaadin client side gave it a try. Maybe there are just a few things missing.

Hi Sander
I've improved the Extension-POC and I've tried to implement a version of Vaadin-CDI in it (not yet finished ;) ). The Vaadin-demo-business-app is running with it (only production-mode / in dev-mode is an issue with bundling the client-bundle) and you can take a look on them under:

https://github.com/urosporo/vaadin-quarkus-extension-parent
https://github.com/urosporo/vaadin-demo-business-app/tree/V14

@sanderPostma
Copy link

Vote-up
I was able to make the vaadin-demo-business-app working on Vaadin14 in production mode using & tweaking moewes's POC.
dev-mode is more difficult. After adding ServletBuildItem.builder .addInitParam("project.basedir", ...) .addInitParam("vaadin.frontend.token.file",...) in VaadinProcessor it starts up, but still getting lots of nasty errors in the browser console.
It would be better if someone experience debugging the Vaadin client side gave it a try. Maybe there are just a few things missing.

Hi Sander
I've improved the Extension-POC and I've tried to implement a version of Vaadin-CDI in it (not yet finished ;) ). The Vaadin-demo-business-app is running with it (only production-mode / in dev-mode is an issue with bundling the client-bundle) and you can take a look on them under:

https://github.com/urosporo/vaadin-quarkus-extension-parent
https://github.com/urosporo/vaadin-demo-business-app/tree/V14

I had something very similar based on the project from moewes. I needed to add some extra init-params
See draft-pr

dev mode is starting without backend errors now, but the browser console still looks nasty. It does show the webpack:// & webpack-internal:// sources though.
When dev-mode is not working you can't really use Quarkus functions, but have to build something that you can debug on a more conventional app server and that -also- works on Quarkus.

@jhult
Copy link
Contributor

jhult commented Dec 30, 2020

Related issue: #9713

It looks like @mvysny is building an example project here: https://github.com/mvysny/vaadin-quarkus

@pleku
Copy link
Contributor

pleku commented Jun 10, 2021

Official Quarkus support is WIP and the first iteration will focus on:

  • Building Quarkus+Vaadin applications should be easy and reasonably fast (related to Jandex index Add jandex index to all necessary artifacts #9862)
  • We should have an example project, base-starter-flow-quarkus should be enough
  • Documentation to show how to use Vaadin Flow in a Quarkus application, vaadin.com/docs/latest/flow/integrations/quarkus
  • Quarkus should be listed as compatible "server" in the release notes & website
  • Using add-ons works and any needed steps are documented
  • Works both with Gradle & Maven (but starter is only for Maven), needed extra steps for gradle (?) are documented
  • Based on Quarkus 2.0 which requires JDK11+

Upcoming steps are related to

  • It should be possible to do a native compilation of our example project using GraalVM
  • Custom Vaadin scopes (same as CDI) work
  • Push with Websockets - first it will use long polling instead of web sockets
  • LiveReload on development mode

There is now https://github.com/vaadin/quarkus and https://github.com/vaadin/base-starter-flow-quarkus repositories to follow and create further issues on.

Target is Vaadin 22, but we will have something that works on top of Vaadin 21 during June. To be decided if it will be included in 21.

@sandronm
Copy link
Author

The link https://github.com/vaadin/base-starter-quarkus-flow gives me a 404 error :-)

@troosan
Copy link

troosan commented Jul 4, 2021

The link https://github.com/vaadin/base-starter-quarkus-flow gives me a 404 error :-)

correct link is https://github.com/vaadin/base-starter-flow-quarkus/ I guess

@carljmosca
Copy link

Is the native-image support on the roadmap?

@joheriks
Copy link
Contributor

joheriks commented Jan 31, 2022

We plan to investigate native executable during this spring. Please track the progress via vaadin/quarkus#54.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants