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

Разработчики программы 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», подробнее в Правилах сервиса
Анализ
×
Mac OS
Производитель:Apple
39
API
Технологии
34