Vaadin seems to be pushing in 2 directions:
- Vaadin Framework (Java - Server-side)
- Vaadin Elements (Javascript - Client-side)
Are they meant to be used together now.. or in the future? Or just 2 separate, unrelated product offerings?
For example, is the Vaadin Grid Element (not to be confused with Vaadin 7's Java Grid), meant to be used in 'Java-land'?
I found this Server-side Elements post, which talks about creating/manipulating Javascript Web Components from the Server-side. Is this what we are meant to use? Or is there something else coming to simplify component usage in Java?
..I feel I'm missing something.
There was an announcement by Joonas Lehtinen (Vaadin's CEO) that clarified this. In short:
Web Components will shortly be fully supported by most ever-green browsers. [...] This provides us with two opportunities:
1) Web components are a perfect rendering model for Vaadin Framework. Imagine using any web components by any vendor from server-side Java, just like you use server-side Components today. [...]
2) We will be able to share the components we build with other frameworks. Anyone could use Vaadin’s components - not just Java developers [...] We have already started to release some of these components as in the form of Vaadin Elements.
Read the full blog post here: https://vaadin.com/blog/-/blogs/framework-roadmap-connecting-the-dots
Vaadin Flow
As of now, Vaadin team has announced Vaadin Flow (Developer Preview) which provides answers for your question. With Flow, the traditional Vaadin developers get the privilege to use custom client side elements without much pain.
Flow provides the following methods of interacting with the DOM in the user’s web browser:
Please do have a look into these great resources for more information: