On Mon, Nov 25, 2019, at 3:53 PM, Ulf Hermann wrote:
> Yes, but the problems with this construct are the same as with generic 
> context properties: Your QML component requires some context that it 
> doesn't declare. Therefore your code is not reusable and brittle wrt 
> addition of properties in other places.

Which is why I also provided a possible solution - by providing declaration of 
that context.

I'm not sure whether you just stopped reading once I started talking about the 
problem, but I'd be interested to hear about whether or not something like that 
approach was considered.

> Mind that all those dynamic lookups will still live on in QML 2, and we 
> will maintain QML 2 throughout Qt6. They just won't be valid in QML 3.

It's good to hear that QML 2 won't disappear overnight, but let's not pretend 
that this would be a sustainable, good situation to be in. One day, QML 2 will 
disappear. At least, given the lower version number, you would hope it will 
disappear. But every piece of pain that makes porting harder will help to 
ensure that it stays around longer.

And even if there wasn't going to be pain in porting - there is going to be a 
lot of residual friction in transitioning. All of the documentation, all of the 
examples, all of the tribal knowledge will suddenly become irrelevant.

And for what? Why?


Yes, there are problems with some features. That doesn't necessarily mean they 
are unsolvable problems (perhaps they are; without having a proper discussion 
about it - how do we know?)

By the sounds of it, QML2 to QML3 will not be an easy transition. I was already 
a little worried when I saw changes removing versioning, and a WIP change 
deprecating context properties back in April or so, but reading your mail makes 
me very concerned for the future. 

For reference, QML1 to QML2 was a _relatively_ easy port for example, despite a 
different JavaScript engine, a new item set, and a completely rewritten 
graphical presentation. My personal opinion is that this was very good, because 
it gave you a pretty big no-brainer: spend a small moderate amount of effort to 
port and validate/test, and in return, you gain much better performance.

The situation for QML3 seems to be much less clear cut
_______________________________________________
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development

Reply via email to