Представлена вторая альфа-версия KDE Frameworks 5, которая включает в себя реструктуризированный и портированный на Qt5 базовый набор библиотек и runtime-компонентов, лежащих в основе KDE. Первый стабильный релиз KDE Frameworks 5 ожидается в июне.
По сравнению с первой альфа-версией отмечается значительный прогресс в обеспечении работы приложений, построенных с использованием KDE Frameworks 5, в окружении на базе Wayland. Также улучшена поддержка работы на платформе OS X, удалён модуль kprintutils, модуль kwallet-framework переименован в kwallet, внесена порция изменений с исправлением выявленных проблем.
KDE Frameworks 5 состоит из 58 модулей, разделённых на три категории:
- 19 функциональных дополнений к Qt, расширяющих возможности Qt в определённых направлениях, например в плане предоставления средств для управления конфигурацией. Отнесённые к данной категории библиотеки не требуют дополнительных зависимостей, кроме Qt. Среди входящих в данную категорию модулей: KArchive, KPlotting, Threadweaver, KConfig, KCoreAddons, KCodecs, KDBusAddons, KJS, KWindowSystem, Sonnet (проверка орфографии), Solid (обработка событий от оборудования);
- 9 библиотек для интеграции с операционной системой, расширяющих функции первой категории зависимостями, специфичными для различных операционных систем (например, libktimezone может использовать ktimezoned в Linux и отдельный API на платформе Windows). Среди входящих в данную категорию модулей: KDNSSD, KAuth, KCompletion, KCrash, KI18n, KNotifications, KWallet;
- 30 библиотек, составляющая полнофункциональный программный стек KDE, включающий зависимости от дополнительных библиотек и runtime-компонентов. Среди входящих в данную категорию модулей: KIO (KDE Input/Output), KService, KBookmarks, KConfigWidgets, KDEWebKit, KMediaPlayer, Plasma, KActivities.
В отличие от ранее поставляемых монолитных пакетов (kdesupport, kdelibs и kde-runtime), в KDE Frameworks 5 осуществлён переход к модульной архитектуре, подразумевающей наличие взаимодействующих друг с другом независимых и кроссплатформенных фреймворков, доступных для использования не только в KDE, но в любых приложениях на базе Qt. Ранее при желании использовать в своей программе возможности библиотек KDE, такие как меню, панели инструментов, средства проверки орфографии и функции для работы с файлами, требовалось установить монолитный пакет kdelibs, состоящий из неразрывно связанных между собой библиотек.
KDE Frameworks 5, благодаря разбиению kdelibs на независимые модули, связанные явно определёнными зависимостями, позволяет установить только библиотеки, необходимые для работы программы. Подобный подход предоставляет возможность использования библиотек KDE в сторонних Qt-проектах, не привязанных к KDE, и открывает двери для постепенного выноса не специфичной для KDE функциональности в состав Qt.
В целом API остался неизменным, изменения связаны только с перераспределением функциональности по библиотекам и внутренней адаптацией для использования Qt 5. Пакет kdelibs разбит на модули, оформленные в виде дополнений к Qt, в расчете один модуль на каждую библиотеку. Сохранение базовой обратной совместимости API позволяет упростить портирование существующих приложений на технологии KDE Frameworks 5, как правило, достаточно внести минимальные изменения в сценарий сборки и заголовочные файлы.
Бинарные пакеты с KDE Frameworks 5 подготовлены для Kubuntu (PPA), openSUSE, Arch Linux и Fedora. Оценить работу KDE Frameworks 5 и Plasma 2 можно воспользовавшись iso-образом от проекта Neon.
|