QML-using app developers: use private.* imports

Sebastian Kügler sebas at kde.org
Wed Sep 25 14:51:38 BST 2013


Hey all,

In Plasma, we've been looking into privatizing parts of the QML API we offer. 
With Qt5, we rely less on setContextProperty() and friends, and use imports 
more. That's a technical necessity that makes one problem more evident: It's 
unclear what QML-facing API is reliable and stable, and what is private and 
internal API. As there are no restrictions (right now) which imports may be 
loaded by a piece of QML, we need another solution. 

Our approach hooks into the import loader, and will disallow loading certain 
plugins. This is not implemented yet, but we would like to prepare this by 
having streamlined import names, which can eventually be enforced.

We would like to introduce this as good practice for not-just-plasma, so it 
would be nice if applications could use the same patterns: Only install into 
org.kde.* what you consider stable API. For internal imports, use private.*, 
for example private.org.kde.yourapplication.module.

Thanks,
-- 
sebas

http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9




More information about the kde-core-devel mailing list