World Library  
Flag as Inappropriate
Email this Article

KDE Frameworks 5

Article Id: WHEBN0041600946
Reproduction Date:

Title: KDE Frameworks 5  
Author: World Heritage Encyclopedia
Language: English
Subject: KDE Software Compilation, KDE, Sonnet (software), ThreadWeaver, Wayland (display server protocol)
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

KDE Frameworks 5

KDE Frameworks 5
Original author(s) KDE
Developer(s) KDE
Initial release 1 July 2014 (2014-07-01)
Stable release 5.15.0 (October 10, 2015 (2015-10-10)) [1]
Preview release 5.0 beta 3 (June 5, 2014 (2014-06-05)) [2]
Written in C++ (Qt)
Operating system Cross-platform
Type
License GNU Lesser General Public License (LGPL)[3]
Website .org.kdewww

KDE Frameworks is a collection of libraries and software frameworks by KDE that serve as technological foundation for KDE Plasma 5 and KDE Applications distributed under the GNU Lesser General Public License (LGPL).

The included individual frameworks offer a wide variety of commonly needed functionality providing solutions including hardware integration, file format support, additional graphical control elements, plotting functions, spell checking and more. Many of the frameworks are available for multiple operating systems and have minimal or no extra dependencies.

KDE Frameworks represents an effort to rework KDE Platform 4 into a set of individual and independent, cross platform modules that will be readily available to all Qt-based applications. The transition from KDE Platform to KDE Frameworks has been in progress for over 3 years, guided by top KDE technical contributors.[4]

After the initial release of KDE Frameworks 5.0 and without the stress of a strict deadline, the developers will focus on adding features to the components in KDE Frameworks 5,[5] an example being better integration of Firefox into KDE.[6]

It should be possible to install a KDE Frameworks 5 runtime alongside a KDE Platform 4 runtime so apps can use either one.[7]

Adoption

The source code in KDE Frameworks has been around since KDElibs 1. Besides the KDE Software Compilation, there may be other adopters, such as e.g. the desktop environments, LXQt, MoonLightDE or Hawaii or applications such as Amarok, Avogadro, Trojitá or Subsurface.

Development

Source code that was part of KDE Platform is now found in Qt 5.2 instead.

Since the split of the KDE Software Compilation into KDE Frameworks 5, KDE Plasma 5 and KDE Applications, each sub-project can pick its own development pace. KDE Frameworks 5 will be released on a monthly base[8] and use git.[9][10]

API and ABI stability

Platform releases are major releases that begin a series (version number X.0). Only these major releases are allowed to break both binary and source code compatibility with the predecessor. On the other hand, releases in the minor series (X.1, X.2, ...) will guarantee source & binary portability (API & ABI). This means, for instance, that software that was developed for KDE 3.0 will work on all (future) KDE 3 releases; however, an application developed for KDE 2 is not guaranteed to be able to make use of the KDE 3 libraries. KDE major version numbers mainly follow the Qt release cycle, meaning that KDE SC 4 is based on Qt 4, while KDE 3 was based on Qt 3.

Software architecture

Structure

The Frameworks have a clear dependency structure, divided into "categories" and "tiers". The "categories" refer to runtime dependencies:

  • Functional elements have no runtime dependencies.
  • Integration designates code that may require runtime dependencies for integration depending on what the OS or platform offers.
  • Solutions have mandatory runtime dependencies.

The "Tiers" refer to compile-time dependencies on other Frameworks.

  • Tier 1 Frameworks have no dependencies within Frameworks and only need Qt and other relevant libraries.
  • Tier 2 Frameworks can depend only on Tier 1.
  • Tier 3 Frameworks can depend on other Tier 3 Frameworks as well as Tier 2 and Tier 1.

Components

The KDE Frameworks bundle consists of over 60 packages. These existed as a single large package, called kdelibs, in KDE SC 4. Kdelibs was split into several individual frameworks, some of which are no longer part of KDE but were integrated into Qt 5.2.[11]

KDE Frameworks are grouped in four different tiers according to dependency on other libraries. Tier 1 frameworks only depend on Qt or other system libraries. Tier 2 frameworks can depend on tier 1 libraries, Qt and/or other system libraries and so forth.[12]

History

The first release of KDE Frameworks was version 5 to account for the fact, that the entire code base is that of KDE Platform, whereas the only version of KDE Platform was version 4 to account for the fact that it was a repacking thing and the entire code base remained from predecessors.

Major improvements aimed for in Frameworks 5 include increased modularization. In earlier KDE versions, the libraries were bundled as a single large package. In Frameworks, the libraries will be split into individual smaller packages. This will facilitate utilization of the libraries by other Qt-based software, since dependencies can be kept at a minimum.[4]

Whereas KDE 4 was based on version 4 of the widget toolkit Qt, Frameworks 5 will be based on version 5. Qt 5 enables increased usage of QML, a simpler JavaScript-based declarative programming language, for design of user interfaces. The graphics rendering engine used by QML allows for more fluid user interfaces across different devices.[4]

Release history

The 5.0 release was preceded by a technology preview, two alpha releases, and three beta releases.[14][15][16][2]
Frameworks 5 releases
Version Date Notes
Old version, no longer supported: 5.0 7 July 2014[17] Initial release
Old version, no longer supported: 5.1 7 August 2014
Old version, no longer supported: 5.2 12 September 2014[18]
Old version, no longer supported: 5.3 7 October 2014[19]
Old version, no longer supported: 5.4 6 November 2014[20]
Old version, no longer supported: 5.5 11 December 2014[21]
Old version, no longer supported: 5.6 8 January 2015[22] New frameworks: KPackage and NetworkManagerQt
Old version, no longer supported: 5.7 14 February 2015[23]
Old version, no longer supported: 5.8 13 March 2015[24] New frameworks: KPeople and KXmlRpcClient
Old version, no longer supported: 5.9 10 April 2015[25] New framework: ModemManagerQt
Old version, no longer supported: 5.10 8 May 2015[26]
Old version, no longer supported: 5.11 12 June 2015[27] New framework: BlueZ-Qt
Old version, no longer supported: 5.12 10 July 2015[28]
Old version, no longer supported: 5.13 12 August 2015[29] New frameworks: Baloo and KFileMetaData
Old version, no longer supported: 5.14 11 September 2015[30]
Current stable version: 5.15 10 October 2015[1]
Legend:
Old version
Older version, still supported
Latest version
Latest preview version
Future release

References

  1. ^ a b
  2. ^ a b
  3. ^
  4. ^ a b c
  5. ^
  6. ^
  7. ^
  8. ^
  9. ^
  10. ^
  11. ^
  12. ^
  13. ^ http://blog.martin-graesslin.com/blog/2014/02/kwindowsystem-in-frameworks-5/
  14. ^
  15. ^
  16. ^
  17. ^
  18. ^
  19. ^
  20. ^
  21. ^
  22. ^
  23. ^
  24. ^
  25. ^
  26. ^
  27. ^
  28. ^
  29. ^
  30. ^
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.