Проект Bottles будет переписан на языке Rust с использованием libcosmic

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3637
Зарегистрирован: 20.08.2022

#

Проект Bottles будет переписан на языке Rust с использованием libcosmic
Дата публикации:Sat, 28 Dec 2024 18:29:04 +0300




Разработчики программы Bottles, предлагающей интерфейс для упрощения установки, настройки и запуска Windows-приложений в Linux, опубликовали информацию о развитии инициативы Bottles Next, нацеленной на полную переработку архитектуры и кодовой базы проекта. Отмечается, что имеющееся монолитное приложение на Python с интерфейсом на GTK не позволяет реализовать многие идеи, такие как поддержка macOS, ограничивает возможности и приводит к возникновению проблем, не решаемых без кардинального изменения архитектуры.




Новая архитектура подразумевает разделение приложения на три отдельных компонента: клиент с реализацией графического интерфейса, сервер с логикой запуска приложений и управления префиксами Wine и агент, работающий под управлением Wine и взаимодействующий с API Windows. Изначально планировалось использовать в реализации клиента web-технологии (Electron и VueJS), а сервер написать на языке Go, но созданные прототипы и неприятие сообществом идеи перехода на движок Electron, побудили разработчиков отказаться от данной задумки.



В итоге решено использовать для разработки клиента и сервера язык Rust, а графический интерфейс построить на базе фреймворка libcosmic. Libcosmic используется в среде рабочего стола COSMIC и представляет собой надстройку над библиотекой iced, предоставляющей функции для создания графических приложений и апплетов. Для разработки применяется модель реактивного программирования и архитектура, привычная для разработчиков, знакомых с языком декларативного построения интерфейсов Elm. Для отрисовки могут применяться движки на базе Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+.




Отмечается, разработчикам было бы более комфортно использовать язык Go, но от него пришлось отказаться из-за отсутствия качественных тулкитов для разработки интерфейсов пользователя. Помимо нового упрощённого интерфейса планируется в качестве опции оставить привычный классический вариант интерфейса. Код агента будет написан на C# и .NET, что объясняется необходимостью запуска сервиса WineBridg в Windows-окружении, сформированном Wine. Контейнер для тестирования начального прототипа Bottles Next, написанного на Rust, планируют опубликовать через несколько недель. В настоящее время доступна лишь простейшая демо-версия.


Изображение
Изображение


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=62478

Жизнь за Нер'зула!

Ответить