On 4/25/2016 2:31 AM, Simon Hausmann wrote:

Hi,


Thank you for your feedback.


Could you please elaborate what kind of changes you'd like to see to the QQmlComponent 
API? It is not clear to me what you mean by "compiling loaded QML from a byte 
array".


Similarly, could you please explain what you mean within loading definitions 
into the component cache? Are you referring to the ability to populate the 
component cache on application start up?

Regarding the qmldir files I conceptually agree that it would be nice to get 
rid of them, but it is not an easy task and not a task that I think of being of 
high priority (unless somebody convinces me otherwise). However one thing I 
would like to see as an initial step in the same direction would be to generate 
the content of the files automatically from meta-information for example in the 
build system. Such a step would potentially allow for replacing these files 
with a superior mechanism.

Could you please explain what you mean by an array of plugin bytes?

I also don't see a tight coupling between the QML engine and the network access 
manager. What coupling are you referring to? Is it the ability to compile the 
engine when the network access manager is disabled from the build?

Regarding internationalization support: I invite you to contribute the work 
towards allowing different mechanisms for translations. It would probably make 
most sense if you could attend the Qt conference to discuss the topic in person.


Simon


Simon:

I have a bunch of comments to offer.

Regarding QQmlComponent, The best answer I can give is to suggest different API 
calls:

QQmlComponent.setData( Array of Human Readable QML Bytes )
QQmlComponent.BindImportName("import name","version major","version minor") -> 
Binds an import Name
QQmlComponent.BindLibary("import name", compiled QQuickItem dynamic library) -> 
Binds an import Name  (NO MORE PLUGINS! IOS shared library issues here)

QQmlEngine->CheckForImportCollisions( "import name","version major","version 
minor",QQmlComponent& gcomp)
QQmlEngine->LoadComponentIntoCache( "import name",bla-bla, QQmlComponent& gcomp)
QQmlEngine->UnloadLoadComponentFromCache( "import name",bla-bla)

Possible optimizations:

QQmlComponent.CompiletoByteArray() -> Output an array of "Compiled QML" 
bytecode + dynamic (5.8 QML Compiler but NOT to C++ class files, to bytecode)
QQmlComponent.LoadCompiledByteArray() -> Load a previously Compiled QML 
bytecode into the Component

filename.QML -> normal human readable QML
filename.QMC -> compiled qml byte file

Also, I think the day is fast coming where Qt Creator is no longer viable, only 
the C++ code will have developer value.

Already, you cannot debug QML and C++ on Xcode for simulator/Device.  There are 
severe limitations and the support is tepid at best. Why fight that battle?

Android Studio 2.x series will have integrated C++ NDK debugging along with 
acclerated Java debugging.

Why be content with KDAB 7 episode Jedi Knight series for Android & QT?  Make 
the jump to concentrate QT/Android development inside Android Studio 2.+

Microsoft has its own tools and deprecated Visual Studio 2010/12/13 Plugin and 
QT is scrambling to try to support Visual Studio 2015 with some sort of plugin 
replacement.

My recommendation is that Qt Creator resources be reduced massively to only 
support the Yocto embedded targets on linux.  The rest of the platforms should 
seek to work with native tooling.

Also, the Meta Object compiler needs review because when you open the Qt 
project in XCode, the metaobjects are major human readable problems
yet Xcode is the only environment that can actually debug QT C++ code on 
Simulator and Device. Not Qt Creator.    The generated projects need to have 
much cleaner code.

Internationalization should be an open hook that the Qr(" ") is re-factored to 
tap into. Then anybody could tap into the hook with their own internationalization 
mechnanism.  I would like to build the base library without the network manager, but I 
think there are too many links to the network manager header file in GUI.

I would love to come to a conference, but I am just way too busy and have a 
baby on the way, the wife will NEVER let me go to Europe to talk like a geek 
for 4 days.  Every spare dollar
is for domestic operations.

Cheers,

md


_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to