04.12.2022

Пользовательское окружение COSMIC будет использовать Iced вместо GTK

Майкл Мёрфи (Michael Aaron Murphy), лидер разработчиков дистрибутива Pop!_OS и участник разработки операционной системы Redox, рассказал о работе над новой редакцией пользовательского окружения COSMIC. COSMIC трансформируется в самодостаточный проект, не использующий GNOME Shell и развиваемый на языке Rust. Окружение планируется использовать в дистрибутиве Pop!_OS, предустанавливаемом на ноутбуки и ПК компании System76.

Отмечается, что после долгих обсуждений и экспериментов разработчики приняли решение использовать для построения интерфейса библиотеку Iced вместо GTK. По мнению инженеров из System76 библиотека Iced, активно развиваемая в последнее время, уже достигла уровня, достаточного для использования в качестве основы для пользовательского окружения. В ходе экспериментов подготовлены различные апплеты COSMIC, написанные одновременно на GTK и Iced для сравнения технологий. Эксперименты показали, что по сравнению с GTK библиотека Iced предоставляет более гибкий, выразительный и понятный API, естественно сочетается с кодом на языке Rust и предлагает архитектуру, привычную для разработчиков, знакомых с языком декларативного построения интерфейсов Elm.

Библиотека Iced полностью написана на языке Rust, использует безопасные типы, модульную архитектуру и модель реактивного программирования. Предоставляется несколько движков отрисовки, поддерживающих Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+, а также оконная оболочка и движок для интеграции с Web. Приложения на базе Iced могут быть собраны для Windows, macOS, Linux и запуска в web-браузере. Разработчикам предлагается готовый набор виджетов, возможность создавать асинхронные обработчики и использовать адаптивную компоновку элементов интерфейса в зависимости от размера окна и экрана. Код распространяется под лицензией MIT.

Источник.