[Development] Proposal: Remove QML from Qt's code base (OR: Should it be a requirement that Qt Modules are interoperable?)

Philip Ashmore contact at philipashmore.com
Fri Jul 6 08:23:11 CEST 2012


On 06/07/12 02:51, Alan Alpert wrote:
> On Fri, 6 Jul 2012 02:32:06 ext Philip Ashmore wrote:
>> On 06/07/12 02:05, d3fault wrote:
>>   >  For programmers, a lot of you are pretty bad at reading. Hopefully you
>>   >  understand designs better:
>>   >
>>   >  Current Non-Interoperable Design: http://bayimg.com/oapnKAAdJ
>>   >  Which will probably eventually turn into: http://bayimg.com/oAPnpAaDj
>>   >
>>   >  Ideal Solution: http://bayimg.com/PaPneAadj
>>   >
>>   >  The sooner we get off the wrong path, the less code/resources we waste.
>>
>> I usually resist the temptation to jump onto a shaky bandwagon, but I've
>> yet to
>> hear any clear arguments against
>>
>>      class QtQuickSceneGraph : public QSceneGraph {...}
>>
>> as being the way ahead.
>>
>> Take a quick look at clang's development progress.
>> They have api changes as the result of community effort and everyone plays
>> catch-up.
>>
>> Their focus isn't on the api everyone will be using in 5 years because
>> they'd
>> rather write something that's as good as it can be now.
>>
>> The whole point of open source is that you can work with a changing api and
>> still burn it onto DVD or firmware, just as long as you can get the
>> version used
>> if you need to change your code.
>>
>> Qt itself is IMHO strugging with the divide between
>>      closed source == api stability but dates badly
>>      open source == dynamic and occasional api breakages but keeps current
>
> As I understand it, this approach requires you to have the exact same
> libraries as the point in time which you built against, due to the unstable
> APIs. This is a feasible approach for open source, because you can go back in
> the history to get it or just build your own copy.
>
> If this is the route you want to go down, then what's stopping you from using
> private headers? The main constraint with private headers is that you need the
> exact same version of Qt on the system as you build against (because the API
> is unstable). Accept that problem and you can use the private headers from
> today, or even from quite some time in the past.
Good point. I googled "using qt private headers" - not very useful.
Could you post a link?
>
>
> Simply by being open source the private headers of Qt would seem to meet your
> requirements. Qt still provides API stability in the public headers because it
> is of enormous value to some people, I see no reason that the other people
> can't use private headers as much as they want (just keep in mind the warnings
> like "This header file may change from version to version without notice, or
> even be removed" ).
>
> Just keep in mind that the average developer probably prefers stability (and
> probably doesn't work on clang :P ). So Qt shouldn't be pushing using private
> APIs as the recommended approach. But it's there for the adventurous.
Most c++ developers wouldn't want to choose between stability and 
performance.
I'm adventurous, just point me at the "qt private header forum" where 
interface changes are community-driven and I'll sign up.
I'll understand if this has to wait until after Qt5 is released.
>
>
> --
> Alan Alpert
Philip
>



More information about the Development mailing list