Vaadin defined in XML?

The way I see it, Java is for the controllers.
But is not Vaadin, also in Java?
But the UI is defined in XML? Right?
So I do not understand how Vaadin, in Java, is handled in XML?

---- 2
I tried to refactor and everything blew up. I use VS Code and Netbeans. Refactoring? Easy-peasy.
In Intellij Idea with Jmix. Cannot do it.
So how do I refactor Jmix in Intellij Idea?
Thanks

Hello,

in a nutshell, when we speak about UI, you write your code using Java, and describe/configure the “screen” using XML descriptor. (in the code you can also programmatically create them or manipulate).
When building the application, it will link to Vaadin Flow which will in turn interpret that XML and make HTML/JavaScript UI, and then handle it for you. This enables you to use your Java expertise or code, but also to integrate javascript components, as Vaadin uses Web Components standard.
Check this out
https://demo.jmix.io/ui-samples/

Jmix is used with IntelliJ IDEA, because its an IntelliJ IDEA plugin. Generated code can be in theory used and modified with tools such as Eclipse, Netbeans, VS Code … but requires technical expertise and time to properly configure. I don’t see why you would want to use that instead of IntelliJ, there is a community version, and Jmix also has a free version with some limitations.

I don’t understand what do you mean by “refactoring Jmix”? Do you want to change the Jmix code?
Non-commercial Jmix code is on the GitHub

If you have a commercial licence, you can extend or override needed classes, as in the application will use your version…

Kind regards,
Mladen

2 Likes

With your new information, seems that JMix is abstracting Vaadin with JMix tags. Alright, I can deal with that.
And I guess refactoring is not a JMix, it’s a IntelliJ issue, lol. Alright.

Thank-you, this pretty much answers the questions.
Case closed.

Exactly.
Here you can find an explanation why: Key Features → XML Descriptors.