Статус разработки KDE Frameworks 5 и Plasma 2
24 января 2013 года
Себастьян Кюглер (Sebastian Kügler), вице-президент организации KDE e.V., опубликовал отчёт о текущем состоянии проекта KDE Frameworks 5 и нового пользовательского окружения Plasma 2, продолжающих развитие технологий KDE на базе Qt5, использующих OpenGL для рендеринга и способных работать как поверх традиционного X-сервера, так и поверх дисплейного сервера Wayland.
Вместо монолитного набора базовых библиотек в KDE Frameworks 5 будет воплощена новая модульная структура, оформленная в виде взаимодействующих друг с другом независимых фреймвоков, которые можно будет использовать в том числе и в сторонних Qt-проектах, не привязанных к KDE. Кроме того, в рамках проекта планируется выделить общую полезную функциональность, расширяющую возможности Qt и не связанную внешними зависимостями, и добиться её включения в состав Qt.
В настоящее время уже завершена работа над тремя из семи базовых задач, поставленных перед разработчиками KDE Frameworks 5. KDE Frameworks 5 уже успешно компилируется с использованием Qt 5.0 и обеспечивает запуск базовых системных сервисов (kdeinit5). Тем не менее, ещё не все зависимости, необходимые для работы KDE, портированы на Qt 5. Продолжается работа по переработке системы сборки (модуляризация настроек и макросов CMake). На 50% выполнена работа по чистке kdelibs и подготовке к разбиению на отдельные модули, в расчете один модуль на каждую библиотеку.
Использование в Plasma и KWin новых возможностей библиотеки Qt5 позволяет обеспечить их работу на более современных графических стеках, таких как Wayland, и подразумевает уход от отрисовки с использованием X11 к рендерингу на базе OpenGL. Технология QtQuick2, используемая для построения оболочки Plasma 2, предоставляет дополнительные средства в разработке, позволяя в полной мере использовать возможности графического оборудования, реализовать новые визуальные элементы и упростить написание дополнений для рабочего стола. Переход на Qt5, который вызовет нарушение бинарной и программной совместимости, является хорошим поводом для реализации архитектурных изменений в Plasma 2 и переработки Plasma API. В итоге, разработчикам будет предложен Plasma Quick, сочетающий методы QtQuick с рядом компонентов для поддержки визуальных тем, контроля отрисовки, интернационализации, доступа к данным, конфигурации и взаимодействия с оборудованием.
В настоящее время, уже идёт работа по переводу реализации пользовательского интерфейса на использование QML. В рамках библиотеки libplasma2 представлен новый API и осуществлён перевод библиотеки Plasma и runtime-компонентов с использования QGraphicsView на QML. Тем не менее, это только вершина айсберга и для полного завершения работы требуется выполнить ещё много задач, в том числе произвести портирование на QtQuick2, перевести движок скриптования с QScriptEngine на QDeclarativeEngine, создать новую оболочку, портировать виджеты с QGraphics* на QML.
Для разработки плазмоидов и апплетов, независимо от того, на каком языке программирования они написаны, в Plasma 2 будет допустимо только использование QML, поддержка интерфейса на базе QGraphicsWidget будет прекращена. Апплеты будет рекомендовано создавать на чистом QML, но для расширенных функций будет допустимо создание комбинированных апплетов на C++ и QML. В настоящее время уже завершено портирование на QML виджетов System tray, pager, notifications, device notifier, battery, lock/logout, weather, Wallpaper, Containment. На разных стадиях портирования находятся: Taskbar, Folderview, Desktop containment, Calendar, Kickoff, KRunner.
Из этапов развития KWin называется:
- Обеспечение работы KWin поверх Qt5 и адаптация к работе с KDE Frameworks 5. Работу планируется завершить к релизу KDE 4.11, при этом KWin не будет зависеть от Qt 5 до времени, пока KDE не будет переведён на KDE Frameworks 5;
- Обеспечение возможности рендеринга через модули KMS без зависимости от X-сервера. Работу планируется завершить к релизу KDE 4.11, который по прежнему будет запускаться поверх X-сервера, но будет подготовлен экспериментальный прототип для работы поверх KMS.
- Реализация возможности работы KWin в качестве композитного сервера Wayland. Работу планируется завершить к релизу KDE 4.12, в котором по прежнему по умолчанию будет задействован X-сервер, но появится опциональная возможность поддержки Wayland, если к этому времени будут готовы компоненты KDE Frameworks 5.
- В далёком будущем ожидается исключение X11 из зависимостей, что позволит собрать KDE Plasma Active без X-ов. Планов по полному прекращению поддержки X11 нет.
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.