According to a recent article on dot.kde.org, work is proceeding well on the modularization of KDElibs. Instead of being one large static library, KDElibs is being divided into a multi-tiered module system that consists of three framework categories.
These modules will be able to be used by any Qt application without the need to pull in unneeded code as was often the case with version 4 of KDElibs. This change from one large library to a set of smaller but interlinked modules has necessitated a name change from KDE Platform to KDE Frameworks for this aspect of the larger KDE Project.
From the article:
The Frameworks can be divided into three categories:
Functional elements have no runtime dependencies. For example, KArchive handles compression and decompression for many archive formats transparently and can be used as a drop-in library.
Integration designates code that requires runtime dependencies for integration depending on what the OS or platform offers. For example, Solid supplies information on available hardware features and may require runtime components to deliver some of the data on some platforms.
Solutions have mandatory runtime dependencies. For example, KIO (KDE Input/Output) offers a network-transparent virtual filesystem that lets users browse and edit files as if they were local, no matter where they are physically stored. And KIO requires kioslave daemons to function.
Modules may be written in such a way that they require only limited tiers of dependency chains. This should allow Qt application creators to use only the aspects of KDE that they find useful for their application. This modularization will allow for leaner, cleaner code and opens KDE technology to many more platforms than was previously practical; especially in the embedded and mobile markets.
If you would like to know more about the work on KDE Frameworks 5 the KDE.org article offers many useful links; including work with upstream, a roadmap, and current progress.
This is certainly moving in the right direction. I’m glad to see it progressing well, and look forward to the results.
As a Qt developer I’m looking forward to using some of these modules.