KDE Frameworks
![]() | |
Тип | Програмний каркас, Бібліотека програм |
---|---|
Автор | KDE |
Розробник | KDE |
Перший випуск | 1 липня 2014 |
Стабільний випуск | 5.59.0[1] (8 червня 2019; 5 років тому (2019-06-08)) |
Операційна система | Багатоплатформений |
Мова програмування | C++ (Qt Framework) |
Українська мова | Так |
Стан розробки | Активний |
Ліцензія | GNU Lesser General Public License (LGPL)[2] |
Репозиторій | invent.kde.org/frameworks |
Вебсайт | www.kde.org |
KDE Frameworks — програмний каркас проекту KDE, який включає в себе реструктурований базовий набір бібліотек і runtime-компонентів, що лежать в основі KDE SC 5.
Перша версія, KDE Frameworks 5, вийшла 5 липня 2014[3] в рамках міграції KDE і користувацького оточення Plasma на Qt5. Готові бінарні пакунки з KDE Frameworks підготовлені для Kubuntu, openSUSE, Mageia, Arch Linux і Fedora.
Огляд
![](http://upload.wikimedia.org/wikipedia/commons/thumb/d/da/Evolution_and_development_of_KDE_software.svg/250px-Evolution_and_development_of_KDE_software.svg.png)
На відміну від монолітних пакетів, що поставлялися раніше, (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-графіків на підставі заданого набору даних.
Див. також
Виноски
Посилання
- Перший випуск набору бібліотек KDE Frameworks 5 [Архівовано 9 листопада 2014 у Wayback Machine.]
- Увидел свет KDE Frameworks 5 [Архівовано 18 липня 2014 у Wayback Machine.] // opennet.ru
- п
- о
- р
![](http://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/KDE_logo.svg/60px-KDE_logo.svg.png)
у проєкт KDE[en]
Розробка | |
---|---|
Освіта | |
Ігри | KAtomic • KBounce • Kolf • KMines |
Графіка | |
Інтернет | |
Мультимедіа | |
Офіс | Okular • Calligra Suite (Words • Sheets • Stage • Flow • Karbon • Krita • Kexi • Plan) • KAddressBook • Kile • KMyMoney • Kontact • KOrganizer • KPilot • Tellico |
Система | |
Утиліти |
Інтерфейс користувача |
| ||||
---|---|---|---|---|---|
Сучасна | KWin • SDDM (5–) • Qt Framework • KDE Frameworks 5 (Akonadi • Flake • KJS • KHTML • KIO • ThreadWeaver • Kiosk • KIPI • KParts • Kross • Phonon • Solid • Sonnet[en] • Soprano[pl] • Strigi • XMLGUI) | ||||
Застаріла | KDElibs (–3) • DCOP (3) • KDE Platform 4 (4) • KDM (–4) • NEPOMUK (4.13) | ||||
freedesktop.org |