Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.12.3
-
None
Description
- Weak typing makes refactoring difficult. "var" properties and variables can contain objects of any type at runtime. In order to figure out if such a property would be affected by a refactoring, the program itself would have to be run.
- Each component imports its own version of all its dependencies. This makes it hard to centrally upgrade to a new version of some dependency. Furthermore, it's easy to introduce incompatibilities by importing different versions of the same component.
- QML scoping rules can lead to unexpected side effects. Names are implicitly looked up in certain parent scopes (but not all) if not found locally. The rules governing this are rather confusing. It's easy to accidentally use a property of the wrong object.
- Integration with the C++ type system can be cumbersome. You need to manually register all your types via qmlRegister* calls in some initialization routine. Optimally the registration parameters should be derived from the class declaration and the registration done in generated code.
Attachments
Issue Links
- resulted in
-
QTBUG-73675 Streamline QML for better toolability and performance
- Open