4

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.

Dylan Watson
  • 2,283
  • 2
  • 20
  • 38
  • Vaadin Elements is javascript framework/library and is not related to Vaadin Java framework. You do not need Vaadin Java framework for using elements library. – Sangram Jadhav Oct 12 '16 at 07:06
  • As Sangram mentioned: Elements = for integration in JS Webpages (Without serverside vaadin), Framework = Serverside Vaadin+Elements directly embedded in it – André Schild Oct 12 '16 at 07:13

2 Answers2

5

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

Alejandro Duarte
  • 1,365
  • 8
  • 15
  • Yep, but thats the future for Vaadin 8 – André Schild Oct 12 '16 at 19:19
  • 3
    Not really. It's related to Project Hummingbird (foundation for Vaadin 9). – Alejandro Duarte Oct 13 '16 at 09:39
  • 1
    Oh... even more in the future – André Schild Oct 13 '16 at 10:02
  • 2
    Yep, that was part of the original question: _Are they meant to be used together now.. or in the future_. I'd like to add that there's an official add-on that allows using not only [Vaadin Elements](https://vaadin.com/directory#!addon/elements-add-on), but any HTML elements from applications using Vaadin Framework. I'm working on a quick guide that explains how to do this (to be published on vaadin.com soon). – Alejandro Duarte Oct 14 '16 at 11:39
  • 2
    I just published a tutorial that explains how to wrap a Vaadin Element (or any other html element) in a Vaadin Component (server side Java): https://vaadin.com/blog/-/blogs/using-vaadin-elements-with-vaadin-framework – Alejandro Duarte Nov 09 '16 at 09:48
3

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:

  • HTML-based templates that are bound to server-side Model data.
  • A server-side representation of the client-side DOM tree.
  • A type-safe Java RPC API for interacting with JavaScript in the browser.

These mechanisms are intended to be encapsulated into reusable components with a high-level Java API.

Please do have a look into these great resources for more information:

  1. Vaadin Flow - the next piece of Vaadin 10 is now in developer preview
  2. Vaadin Flow Official Documentation
  3. Vaadin Elements in Vaadin 10
  4. Vaadin Framework 8 roadmap 2017 and beyond
Basil Bourque
  • 303,325
  • 100
  • 852
  • 1,154
Thilina Ashen Gamage
  • 1,367
  • 1
  • 12
  • 21