Hi! Thanks for the feedback, Jean-Christophe. I understand your concerns very well, this is a very valid concern and deviates a bit from previous Vaadin major release practices.
Jouni already explained very well some reasoning for the renaming. I would want to add to that:
We are not breaking things just for the fun of it. Some of the changes are because the new naming communicates the fact that the underlying concept has changed.
During our early DX testing with for instance Horizontal and VerticalLayout, it showed that there was very big confusing with V8 users when the naming of the API was the same but the behavior was actually different. Thus in many cases, like with
setCaption
versus
setLabel
, there is a clear difference and we don’t have captions anymore as previously (for a good reason actually, but not the topic here).
The reason why we don’t have any deprecated legacy methods there is that Flow is not a direct follow up from FW8. It is both technically a new framework and the internals have changed, even though the concept for the users is the same. Only a very small part of the original code was retained when we started development of Flow. This allowed us to make things better more easier. That means that things will be broken (when looking back). That is also one of the reasons why the version number increment is from 8 to 10.
While I we know this is an inconvenience for users who are migrating from V7 / V8, it optimizes for the future and makes it easier for any new projects since there is no “legacy” code there visible. And it helps us a lot since we don’t have to maintain those legacy parts. You would have to remove those deprecations at some point anyway. When you look at V7, there is a lot of deprecated code there and in some cases those are still the only options for using that specific feature, which
But
, I would want to highlight that we have not forgotten about the existing users who are potentially migrating. There will be a
Multiplatform Runtime
which enables you to put your V8 UI inside V10 UI. This tool, in my opinion, is a lot better option than enabling deprecated methods, and it is the reason why we’re not currently planning on adding those. It is not currently thus planned to do any renaming of methods. I doubt if that would make any sense, since as I said previously, the behaviour might not be the same.
One last point trying to sell our approach is that by doing all of this, we will have a lot of more time for developing new features. Like those that we don’t even yet have in V10, but do have in V8. And V8 is still supported for four years.
PS: There still might be some accidental unnecessary renaming, so it is good to report those. For instance, for
addComponentColumn
, I think it should be there to make it more easier and obvious to use the
ComponentRenderer
. I’ll create an issue for this.