Migration hints for 6.x UI components

Hi guys, I was just wondering… would you mind sharing some small guidance on what needs to be changed for a custom visual component to work with CUBA 7/Vaadin 8?

I know I can figure it out for myself, with some research and experiments, but by knowing in advance how many differences are there, I can decide if I can afford supporting 6.x branch together with 7 when developing new components.

Thanks for your support!
Paolo

1 Like

Hi Paolo,

It is a good question, but we are not yet ready to share a tutorial on internal UI components changes.
Unfortunately, those internals depend heavily on Vaadin 8 API changes:

  • no more data containers in Vaadin 8 UI components, now we are binding data using our custom binder
  • old Vaadin 7 components moved to com.vaadin.ui.v7 package
  • a lot of APIs of Vaadin 7 and Vaadin 8 components are not compatible

We will try to share our knowledge and migration hints right after the final 7.0 release.

Thanks for your response,
regarding migration hints, I’m mostly interested in javascript components, and IMHO it’s the most common integration type CUBA users are interested in.

For what I’ve seen (very little indeed) there’s no dramatic changes in that regard, I mean on the surface/public API. I’ve read of others having ported pure JS components from 7 to 8 with minimal effort (apart from some edge cases like this one: Vaadin 8 and Javascript component share state | Vaadin, and it’s an interesting one, because it reveals that in 8 the State is diffed by default, so no more manual incremental updates like you did with amcharts).

So in the end, when you’ll be ready to share your migration experience, maybe give some higher priority to JS components, thanks :wink:

Paolo

Sorry to bother you again, but do you mean you have created your own BackEndDataProvider and BackEndHierarchicalDataProvider, am I right?

Thx again
P.

Actually no, I’m talking about old way of value binding to UI fields - Field.setPropertyDataSource() See Properties | Vaadin Data Model | Framework | Vaadin 7 Docs

In Vaadin 8 components there is no com.vaadin.data.Property anymore and we should use Binder: Binding Data to Forms | Vaadin Data Model | Framework | Vaadin 8 Docs We do not rely on Vaadin 8 Binder in version 7 and use our own ValueBinder instead as internal part of UI component design.

So, all the standard client-server communications of Vaadin stay the same.