KDE Frameworks — програмний каркас проекту KDE, який включає в себе реструктурований базовий набір бібліотек і -компонентів, що лежать в основі KDE SC 5.
Тип | Програмний каркас, Бібліотека програм |
---|---|
Автор | KDE |
Розробник | KDE |
Перший випуск | 1 липня 2014 |
Стабільний випуск | 5.59.0 (8 червня 2019 ) |
Операційна система | Багатоплатформений |
Мова програмування | (Qt Framework) |
Українська мова | Так |
Стан розробки | Активний |
Ліцензія | GNU Lesser General Public License (LGPL) |
Репозиторій | invent.kde.org/frameworks |
Вебсайт | www.kde.org |
Перша версія, KDE Frameworks 5, вийшла 5 липня 2014 в рамках міграції KDE і користувацького оточення Plasma на Qt5. Готові бінарні пакунки з KDE Frameworks підготовлені для Kubuntu, openSUSE, Mageia, Arch Linux і Fedora.
Огляд
На відміну від монолітних пакетів, що поставлялися раніше, (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 — компонент для інтеграції в застосунки засобів для перевірки правопису. Підтримується інтеграція з , , і ;
- KPlotting — клас на основі QWidget для швидкого формування 2D-графіків на підставі заданого набору даних.
Див. також
Виноски
- [1]
- . 7 липня 2014. Архів оригіналу за 5 вересня 2015. Процитовано 6 серпня 2014.
- . Архів оригіналу за 5 вересня 2015. Процитовано 6 серпня 2014.
Посилання
- Перший випуск набору бібліотек KDE Frameworks 5 [ 9 листопада 2014 у Wayback Machine.]
- Увидел свет KDE Frameworks 5 [ 18 липня 2014 у Wayback Machine.] // opennet.ru
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
KDE Frameworks programnij karkas proektu KDE yakij vklyuchaye v sebe restrukturovanij bazovij nabir bibliotek i komponentiv sho lezhat v osnovi KDE SC 5 KDE Frameworks 5TipProgramnij karkas Biblioteka programAvtorKDERozrobnikKDEPershij vipusk1 lipnya 2014Stabilnij vipusk5 59 0 8 chervnya 2019 5 rokiv tomu 2019 06 08 Operacijna sistemaBagatoplatformenijMova programuvannyaC Qt Framework Ukrayinska movaTakStan rozrobkiAktivnijLicenziyaGNU Lesser General Public License LGPL Repozitorijinvent kde org frameworksVebsajtwww kde org Persha versiya KDE Frameworks 5 vijshla 5 lipnya 2014 v ramkah migraciyi KDE i koristuvackogo otochennya Plasma na Qt5 Gotovi binarni pakunki z KDE Frameworks pidgotovleni dlya Kubuntu openSUSE Mageia Arch Linux i Fedora OglyadEvolyuciya arhitekturi KDE Na vidminu vid monolitnih paketiv sho postavlyalisya ranishe kdesupport kdelibs i kde runtime u KDE Frameworks zdijsnenij perehid do modulnoyi arhitekturi sho peredbachaye nayavnist vzayemodiyuchih odin z odnim nezalezhnih i kros platformovih frejmvorkiv dostupnih dlya vikoristannya ne tilki u KDE ale v bud yakih zastosunkah na bazi Qt Ranishe pri bazhanni vikoristovuvati u svoyij programi mozhlivosti bibliotek KDE taki yak menyu paneli instrumentiv zasobi perevirki orfografiyi ta funkciyi dlya roboti z fajlami potribno bulo vstanoviti monolitnij pakunok kdelibs sho skladayetsya z nerozrivno pov yazanih mizh soboyu bibliotek Sam po sobi API zalishivsya nezminnim zmini pov yazani tilki z pererozpodilom funkcionalnosti po bibliotekah i provedennyam vnutrishnoyi adaptaciyi dlya vikoristannya Qt 5 Zberezhennya bazovoyi zvorotnoyi sumisnosti API dozvolyaye sprostiti portuvannya isnuyuchih zastosunkiv na tehnologiyi KDE Frameworks yak pravilo dosit vnesti minimalni zmini u scenarij skladannya ta zagolovni fajli Pakunok kdelibs rozbitij na moduli oformleni u viglyadi dopovnen do Qt u rozrahunku odin modul na kozhnu biblioteku Zavdyaki rozbittyu kdelibs na nezalezhni moduli pov yazani yavno pevnimi zalezhnostyami KDE Frameworks 5 dozvolyaye vstanoviti tilki biblioteki neobhidni dlya roboti programi Podibnij pidhid nadaye mozhlivist vikoristannya bibliotek KDE v storonnih Qt proektah yaki ne priv yazanih do KDE i vidkrivaye dveri dlya postupovogo vinosu ne specifichni dlya KDE funkcionalnosti do skladu Qt KDE Frameworks 5 skladayetsya z 59 moduliv rozdilenih na kilka kategorij Rivni viznachayut stupin zalezhnosti moduliv napriklad komponenti rivnya 1 ne zalezhit vid inshih rivniv i mozhut vikoristovuvatisya v Qt zastosunkah yak samodostatni biblioteki Dlya roboti komponentiv rivnya 2 potribna nayavnist bibliotek pershogo rivnya Riven 3 lezhit poverh 2 rivnya i pov yazanij z nim zalezhnostyami krim togo komponenti rivnya 3 pov yazani zalezhnostyami mizh soboyu Riven 1 21 funkcionalne dopovnennya do Qt sho rozshiryuye mozhlivosti Qt u pevnih napryamkah napriklad v plani nadannya zasobiv dlya upravlinnya konfiguraciyeyu Vidneseni do danoyi kategoriyi biblioteki ne vimagayut dodatkovih zalezhnostej krim Qt Sered moduliv ciyeyi kategoriyi KArchive KPlotting Threadweaver KConfig KCoreAddons KCodecs KDBusAddons KWindowSystem Sonnet perevirka orfografiyi Solid obrobka podij vid ustatkuvannya Riven 2 10 bibliotek dlya integraciyi z operacijnoyu sistemoyu sho rozshiryuyut funkciyi pershoyi kategoriyi zalezhnostyami specifichnimi dlya riznih operacijnih sistem napriklad libktimezone mozhe vikoristovuvati ktimezoned u Linux i okremij API na platformi Windows Sered moduliv ciyeyi kategoriyi KDNSSD KAuth KCompletion KCrash KI18n KNotifications KWallet Riven 3 23 biblioteki kotri skladayut povnofunkcionalnij programnij stek KDE sho vklyuchaye zalezhnosti vid dodatkovih bibliotek i runtime komponentiv Sered moduliv ciyeyi kategoriyi KIO KDE Input Output KService KBookmarks KConfigWidgets KDEWebKit Plasma KActivities Nabir z neobov yazkovimi dlya vikoristannya abo specifichnimi integracijnimi komponentami U kategoriyu vklyuchenij nabir plaginiv FrameworkIntegration sho zabezpechuyut integraciyu z riznimi platformami Nabir moduliv z realizaciyeyu mozhlivostej viznanih zastarilimi i ne vklyuchenih do skladu KDE Frameworks 5 Nabir pozicionuyetsya tilki yak dopomizhnij zasib dlya zgladzhuvannya i sproshennya procesu portuvannya pidtrimka naboru bude obmezhena troma ciklami reliziv KDE 5 Do skladu vklyucheno 7 moduliv KDELibs4Support KHtml KJS KJsEmbed KMediaPlayer Kross KRunner Z korisnih bibliotek yaki ranishe buli nepodilnoyu chastinoyu KDE a teper mozhut vikoristovuvatisya okremo zaznachayutsya KArchive nabir funkcij dlya roboti z arhivami i riznimi formatami stisnennya danih Dozvolyaye shvidko integruvati v bud Qt zastosunok zasobi dlya rozpakuvannya arhiviv abo zberigannya danih u stislomu viglyadi ThreadWeaver visokorivnevij API dlya organizaciyi bagatonitevosti za dopomogoyu interfejsiv na osnovi robit i cherg Nadaye planuvalnik sho zabezpechuye zapusk nitej na pidstavi vstanovlenoyi zalezhnosti mizh nityami KConfig frejmvork dlya zberezhennya i viluchennya parametriv konfiguraciyi Pidtrimuye robotu z grupami nalashtuvan generaciyu kodu na osnovi XML fajliv mozhe obroblyati ini fajli i kaskadni iyerarhiyi direktorij z nastrojkami vidpovidnimi specifikaciyi XDG Solid komponenti dlya viznachennya pidklyuchennya obladnannya i obrobki podij vid ustatkuvannya Mozhe vikoristovuvatisya dlya informuvannya zastosunkiv pro pristroyi zberigannya tipi CPU status zaryadu akumulyatora stan merezhi Bluetooth tosho Dlya roboti z shifrovanimi rozdilami upravlinnya zhivlennyam i merezheyu vimagayetsya zapusk specialnih fonovih procesiv KI18n frejmvork dlya internacionalizaciyi na osnovi Gettext Sproshuye proces perekladu interfejsu zastosunkiv Sonnet komponent dlya integraciyi v zastosunki zasobiv dlya perevirki pravopisu Pidtrimuyetsya integraciya z i KPlotting klas na osnovi QWidget dlya shvidkogo formuvannya 2D grafikiv na pidstavi zadanogo naboru danih Div takozhKDE Plasma 5Vinoski 1 7 lipnya 2014 Arhiv originalu za 5 veresnya 2015 Procitovano 6 serpnya 2014 Arhiv originalu za 5 veresnya 2015 Procitovano 6 serpnya 2014 PosilannyaPershij vipusk naboru bibliotek KDE Frameworks 5 9 listopada 2014 u Wayback Machine Uvidel svet KDE Frameworks 5 18 lipnya 2014 u Wayback Machine opennet ru