What is diffrence between vaadin-server and flow-server?

Can a genius one explain what is difference between vaadin-server en flow-server and how should we choose between them?

vaadin-server is a module in Vaadin 7 and 8. flow-server is a module in Vaadin versions 10 and above.

Normally, you don’t define a flow-server dependency in your pom.xml, but instead you have the vaadin-bom dependency which contains flow-server and other needed modules based on the Vaadin platform version like 14.1.27.

You can have both vaadin-server and flow-server in the same application; this may happen when you’re migrating from an older version to a newer one.

If you want to use plain Vaadin 14 (or some other version since Vaadin 10), you shouldn’t have a vaadin-server dependency in your project at all. Likewise, if you want to use plain Vaadin 7 or 8, you shouldn’t have flow-server in your dependencies.

Olli Tietäväinen:
vaadin-server is a module in Vaadin 7 and 8. flow-server is a module in Vaadin versions 10 and above.

Normally, you don’t define a flow-server dependency in your pom.xml, but instead you have the vaadin-bom dependency which contains flow-server and other needed modules based on the Vaadin platform version like 14.1.27.

You can have both vaadin-server and flow-server in the same application; this may happen when you’re migrating from an older version to a newer one.

If you want to use plain Vaadin 14 (or some other version since Vaadin 10), you shouldn’t have a vaadin-server dependency in your project at all. Likewise, if you want to use plain Vaadin 7 or 8, you shouldn’t have flow-server in your dependencies.

Does it also means if we are gonna use only vaadin 14 we shouldn’t use vaadin-maven-plugin and we should use flow-maven-plugin?

ali akbar shahriari garaei:
Does it also means if we are gonna use only vaadin 14 we shouldn’t use vaadin-maven-plugin and we should use flow-maven-plugin?

No. You can use vaadin-maven-plugin unless you need to run two different Vaadin versions within the same web app. flow-maven-plugin is a direct copy of vaadin-maven-plugin; it exists just because you can’t have two different versions of vaadin-maven-plugin for the case where you have different Vaadin versions.

Olli Tietäväinen:

ali akbar shahriari garaei:
Does it also means if we are gonna use only vaadin 14 we shouldn’t use vaadin-maven-plugin and we should use flow-maven-plugin?

No. You can use vaadin-maven-plugin unless you need to run two different Vaadin versions within the same web app. flow-maven-plugin is a direct copy of vaadin-maven-plugin; it exists just because you can’t have two different versions of vaadin-maven-plugin for the case where you have different Vaadin versions.

Thank you very much, you did explain it very clear.

looks like flow-server is [not in the bom]
(https://github.com/vaadin/platform/blob/f484dc19a8d94a41fad8a998343b983e6a2059ad/scripts/generator/generate.js)

or maybe the classes I need, Resource, and StreamResource are not in flow-server anymore. In which case I can’t find a migration plan for them.