On 12/12/12 12:22, Sorvig Morten wrote:
> On Dec 11, 2012, at 4:25 AM, Alan Alpert <[email protected]> wrote:
>> import Qt 5.0
>>
>> Which imports all QML modules in the Qt Essentials released with 5.0.0

If the idea is to import the essentials, then call it that: "import 
QtEssentials (from Qt) 5.0" - it would look weird enough to explain why 
you can't combine this "Qt5" module with, say, cascades or something 
similar.

>> (except QtQuick 1). It would be the equivalent of
>>
>> import QtQml 2.0
>> import QtQuick 2.0
>> import QtQuick.Window 2.0
>> import QtQuick.Particles 2.0
>> import QtAudioEngine 1.0
>> import QtMultimedia 5.0
>> import QtWebkit 3.0
> How about allowing imports without the version number?

Oh, how many times we have discussed this :)

I'll agree that the "import QtQml from Qt 5.0" is cleaner. But my 
"ceterum censeo" on the QML versioning and why (the way it's implemented 
- though not necessarily the way it was envisioned and described in 
Alan's post) is fundamentally broken: QML import statements try to link 
code to *VERSIONS* and not *API*s (hold your thoughts there for a second 
and let that sink in - the difference is subtle, but important). The 
insult-to-injury there is that the versions mentioned there are actually 
ID strings and contain no semantics or relations. What I would like to 
see a lot more is the logic applied for the good old C++ side: major 
version means compatibility, minor version means features, not ad-hoc 
numbering schemes. So if I do an Import QtQml 2 (or QtQml 2.*, or 2.0+) 
it means I'm good with anything that provides 2.0 or a compatible API. 
If you have QtQml 3.0, it means you had an API break and then it's 
perfectly fine to say 'bork, import failed'.

> You're basically asking to opt-out of the versioning system. If we
> thought that was a good idea, we wouldn't require all module imports
> to be versioned. Short explanation is that your deployed applications
> could easily break and there's no real need to skip versioning. Long
> explanation is here: http://alan.imagin-itis.net/?p=322 .


  http://www.youtube.com/watch?v=ThWq5WN32_c


Short story: there is no *hard* compatibility guarantee anyway, so one 
might as well let people do what they want and not pull the rug from 
underneath them randomly.


Best regards,
Attila



_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to