KDE Frameworks

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з KDE Frameworks 5)
Перейти до: навігація, пошук
KDE Frameworks 5
Konqi Mascot Frameworks.png
Тип Програмний каркас, Бібліотека програм
Автор(и) KDE
Розробник KDE
Перший випуск 1 липня 2014
Стабільний випуск 5.18[1] (9 січня 2016; 650 днів тому )
Версії 5.0.0[2], 5.1.0[3], 5.2.0[4], 5.3.0[5], 5.4.0[6], 5.5.0[7], 5.6.0[8], 5.7.0[9], 5.8.0[10], 5.9.0[11], 5.10.0[12], 5.11.0[13], 5.12.0[14], 5.13.0[15], 5.14.0[16], 5.15.0[17], 5.16.0[18], 5.17.0[19], 5.18.0[20], 5.19.0[21], 5.20.0[22], 5.21.0[23], 5.22.0[24], 5.23.0[25], 5.24.0[26], 5.25.0[27], 5.26.0[28], 5.27.0[29], 5.28.0[30], 5.29.0[31], 5.30.0[32], 5.31.0[33], 5.32.0[34], 5.33.0[35], 5.34.0[36], 5.35.0[37], 5.36.0[38], 5.37.0[39], 5.38.0[40] і 5.39.0[41]
Репозиторій quickgit.kde.org
Операційна система Багатоплатформений
Написано на C++ (Qt Framework)
Українська Так
Стан розробки Активний
Ліцензія GNU Lesser General Public License (LGPL)[42]
www.kde.org

KDE Frameworksпрограмний каркас проекту KDE, який включає в себе реструктурований базовий набір бібліотек і runtime-компонентів, що лежать в основі KDE SC 5.

Перша версія, KDE Frameworks 5, вийшла 5 липня 2014[43] в рамках міграції KDE і користувацького оточення Plasma на Qt5. Готові бінарні пакунки з KDE Frameworks підготовлені для Kubuntu, openSUSE, Mageia, Arch Linux і Fedora.

Огляд[ред.ред. код]

Еволюція архітектури KDE.

На відміну від монолітних пакетів, що поставлялися раніше, (kdesupport, kdelibs і kde-runtime), у KDE Frameworks здійснений перехід до модульної архітектурі, що передбачає наявність взаємодіючих один з одним незалежних і крос-платформових фреймворків, доступних для використання не тільки у KDE, але в будь-яких застосунках на базі Qt. Раніше при бажанні використовувати у своїй програмі можливості бібліотек KDE, такі як меню, панелі інструментів, засоби перевірки орфографії та функції для роботи з файлами, потрібно було встановити монолітний пакунок kdelibs, що складається з нерозривно пов'язаних між собою бібліотек.

Сам по собі API залишився незмінним, зміни пов'язані тільки з перерозподілом функціональності по бібліотеках і проведенням внутрішньої адаптації для використання Qt 5. Збереження базової зворотної сумісності API дозволяє спростити портування існуючих застосунків на технології KDE Frameworks, як правило, досить внести мінімальні зміни у сценарій складання та заголовні файли.

Пакунок kdelibs розбитий на модулі, оформлені у вигляді доповнень до Qt, у розрахунку один модуль на кожну бібліотеку. Завдяки розбиттю kdelibs на незалежні модулі, пов'язані явно певними залежностями, KDE Frameworks 5 дозволяє встановити тільки бібліотеки, необхідні для роботи програми. Подібний підхід надає можливість використання бібліотек KDE в сторонніх Qt-проектах, які не прив'язаних до KDE, і відкриває двері для поступового виносу не специфічні для KDE функціональності до складу Qt.

KDE Frameworks 5 складається з 59 модулів, розділених на кілька категорій. Рівні визначають ступінь залежності модулів, наприклад, компоненти рівня 1 не залежить від інших рівнів і можуть використовуватися в Qt-застосунках як самодостатні бібліотеки. Для роботи компонентів рівня 2 потрібна наявність бібліотек першого рівня. Рівень 3 лежить поверх 2 рівня і пов'язаний з ним залежностями, крім того компоненти рівня 3 пов'язані залежностями між собою.

Рівень 1.
21 функціональне доповнення до Qt, що розширює можливості Qt у певних напрямках, наприклад в плані надання засобів для управління конфігурацією. Віднесені до даної категорії бібліотеки не вимагають додаткових залежностей, крім Qt. Серед модулів цієї категорії: KArchive, KPlotting, Threadweaver, KConfig, KCoreAddons, KCodecs, KDBusAddons, KWindowSystem, Sonnet (перевірка орфографії), Solid (обробка подій від устаткування);
Рівень 2.
10 бібліотек для інтеграції з операційною системою, що розширюють функції першої категорії залежностями, специфічними для різних операційних систем (наприклад, libktimezone може використовувати ktimezoned у Linux і окремий API на платформі Windows). Серед модулів цієї категорії: KDNSSD, KAuth, KCompletion, KCrash, KI18n, KNotifications, KWallet;
Рівень 3.
23 бібліотеки, котрі складають повнофункціональний програмний стек KDE, що включає залежності від додаткових бібліотек і runtime-компонентів. Серед модулів цієї категорії: KIO (KDE Input / Output), KService, KBookmarks, KConfigWidgets, KDEWebKit, Plasma, KActivities.
  • Набір з необов'язковими для використання або специфічними інтеграційними компонентами. У категорію включений набір плагінів FrameworkIntegration, що забезпечують інтеграцію з різними платформами;
  • Набір модулів з реалізацією можливостей, визнаних застарілими і не включених до складу KDE Frameworks 5. Набір позиціонується тільки як допоміжний засіб для згладжування і спрощення процесу портування, підтримка набору буде обмежена трьома циклами релізів KDE 5. До складу включено 7 модулів: KDELibs4Support, KHtml, KJS, KJsEmbed, KMediaPlayer, Kross, KRunner.

З корисних бібліотек, які раніше були неподільною частиною KDE, а тепер можуть використовуватися окремо, зазначаються:

  • KArchive - набір функцій для роботи з архівами і різними форматами стиснення даних. Дозволяє швидко інтегрувати в будь Qt-застосунок засоби для розпакування архівів або зберігання даних у стислому вигляді;
  • ThreadWeaver - високорівневий API для організації багатонитевості за допомогою інтерфейсів на основі робіт і черг. Надає планувальник, що забезпечує запуск нитей на підставі встановленої залежності між нитями;
  • KConfig - фреймворк для збереження і вилучення параметрів конфігурації. Підтримує роботу з групами налаштувань, генерацію коду на основі XML-файлів, може обробляти ini-файли і каскадні ієрархії директорій з настройками, відповідними специфікації XDG;
  • Solid - компоненти для визначення підключення обладнання і обробки подій від устаткування. Може використовуватися для інформування застосунків про пристрої зберігання, типи CPU, статус заряду акумулятора, стан мережі, Bluetooth тощо. Для роботи з шифрованими розділами, управління живленням і мережею вимагається запуск спеціальних фонових процесів;
  • KI18n - фреймворк для інтернаціоналізації на основі Gettext. Спрощує процес перекладу інтерфейсу застосунків;
  • Sonnet - компонент для інтеграції в застосунки засобів для перевірки правопису. Підтримується інтеграція з HSpell, Enchant, ASpell і HUNSPELL;
  • KPlotting - клас на основі QWidget для швидкого формування 2D-графіків на підставі заданого набору даних.

Див. також[ред.ред. код]

Виноски[ред.ред. код]

  1. Випуск набору бібліотек KDE Frameworks 5.18.0
  2. First release of KDE Frameworks 5
  3. Second release of KDE Frameworks 5
  4. Release of KDE Frameworks 5.2.0
  5. Release of KDE Frameworks 5.3.0
  6. Release of KDE Frameworks 5.4.0
  7. Release of KDE Frameworks 5.5.0
  8. Release of KDE Frameworks 5.6.0
  9. Release of KDE Frameworks 5.7.0
  10. Release of KDE Frameworks 5.8.0
  11. Release of KDE Frameworks 5.9.0
  12. Release of KDE Frameworks 5.10.0
  13. Release of KDE Frameworks 5.11.0
  14. Release of KDE Frameworks 5.12.0
  15. Release of KDE Frameworks 5.13.0
  16. Release of KDE Frameworks 5.14.0
  17. Release of KDE Frameworks 5.15.0
  18. Release of KDE Frameworks 5.16.0
  19. Release of KDE Frameworks 5.17.0
  20. Release of KDE Frameworks 5.18.0
  21. Release of KDE Frameworks 5.19.0
  22. Release of KDE Frameworks 5.20.0
  23. Release of KDE Frameworks 5.21.0
  24. Release of KDE Frameworks 5.22.0
  25. Release of KDE Frameworks 5.23.0
  26. Release of KDE Frameworks 5.24.0
  27. Release of KDE Frameworks 5.25.0
  28. Release of KDE Frameworks 5.26.0
  29. Release of KDE Frameworks 5.27.0
  30. Release of KDE Frameworks 5.28.0
  31. Release of KDE Frameworks 5.29.0
  32. Release of KDE Frameworks 5.30.0
  33. Release of KDE Frameworks 5.31.0
  34. Release of KDE Frameworks 5.32.0
  35. Release of KDE Frameworks 5.33.0
  36. Release of KDE Frameworks 5.34.0
  37. Release of KDE Frameworks 5.35.0
  38. Release of KDE Frameworks 5.36.0
  39. Release of KDE Frameworks 5.37.0
  40. Release of KDE Frameworks 5.38.0
  41. Release of KDE Frameworks 5.39.0
  42. First release of KDE Frameworks 5. 2014-07-07. 
  43. First release of KDE Frameworks 5

Посилання[ред.ред. код]