На проходящей в Берлине конференции Desktop Summit 2011 был анонсирован план подготовки следующего значительного релиза библиотек и runtime-компонентов десктоп-окружения KDE (kdesupport, kdelibs и kde-runtime), которые решено реорганизовать в вид взаимодействующих друг с другом обособленных фреймвоков и выпустить как KDE Frameworks 5.0. В отличие от KDE 4, выпуск KDE 5 не будет изобиловать кардинальными изменениями и внешне мало будет отличаться от того что уже можно наблюдать сейчас. Ключевые изменения будут связаны с внутренней реструктуризацией, повышением качества, упрощением зависимостей и увеличением модульности системы.

Конечными целями проводимой реструктуризации является предоставление улучшенных средств разработки десктоп-приложений, адаптация компонентов для использования в мобильных окружениях и обеспечение возможности использования KDE-библиотек в сторонних Qt-проектах, не привязанных к KDE. KDE 5 будет разрабатываться параллельно с веткой KDE 4, в процессе переработки внутренностей KDE разработка приложений не будет остановлена. Значительные релизы KDE 4.x как и прежде будут выпускаться раз в 6 месяцев.

После того как проект KDE Frameworks 5.0 оформится и достигнет состояния, пригодного для начала использования, начнётся фаза постепенного перевода конечных пользовательских приложений на новые библиотеки. Изменения KDE Frameworks 5.0 в основном будут связаны с перераспределением функциональности по библиотекам и модулям, API как правило останется прежним. Иными словами портирование программ для нового набора библиотек в большинстве случаев будет сведено к корректировке правил сборки и перекомпиляции с новым набором библиотек, без модификации кода приложений.

Одновременно с реструктуризацией разработчики намерены произвести миграцию на тулкит Qt 5, релиз которого ожидается в течение 2012 года. Кроме того, разработка KDE Frameworks 5.0 будет использована как возможность для безболезненного внедрения некоторых новых технологий c целью улучшения совместимости с другими платформами. Например, вместо работающей только в KDE службы управления паролями KWallet планируется перейти на использование новой стандартной реализации сервиса Secret Service.

Что касается реструктуризации базовых подсистем KDE, планируется уйти от монолитной платформы к набору интегрируемых друг с другом разрозненных фреймворков, реализующих только ту или иную функциональность и отвечающих потребностям базовых подсистем KDE и пользовательских приложений. Пакеты kdesupport, kdelibs и kde-runtime будут разбиты на модули, в расчете один модуль на каждую библиотеку. KDE-фреймворки будут разделены на три категории:

  • Функциональные дополнения к Qt, расширяющие возможности Qt в определённых направлениях, например в плане предоставления средств для управления конфигурацией. Отнесённые к данной категории библиотеки не будут требовать дополнительных зависимостей, кроме Qt;
  • Компоненты для интеграции с операционной системой, расширяющие функции первой категории зависимостями, специфичными для различных операционных систем (например, libktimezone может использовать ktimezoned в Linux и отдельный API на платформе Windows);
  • Полнофункциональный программный стек KDE, включающий зависимости от дополнительных библиотек и runtime-компонентов.

Сокращения зависимостей и разбиение на отдельные модули откроет двери для обособленного использования библиотек, которые легко смогут быть задействованы в других программных окружениях, не связанных с KDE. Значительно повысится привлекательность KDE-библиотек для разработчиков на Qt, не желающих привязывать свои приложения к KDE (в зависимостях будет не весь kdelibs, а только одна библиотека, выступающая в роли надстройки над Qt). В будущем некоторые подготовленные в рамках KDE Frameworks надстройки над Qt имеют шанс войти в состав основного фреймворка Qt.

Источник: http://www.opennet.ru/opennews/art.shtml?num=31420