The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

28.12.2024 18:29

Разработчики программы 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, планируют опубликовать через несколько недель. В настоящее время доступна лишь простейшая демо-версия.



  1. Главная ссылка к новости (https://www.reddit.com/r/linux...)
  2. OpenNews: Выпуск Bottles 2022.1.28, пакета для организации запуска Windows-приложений в Linux
  3. OpenNews: Пользовательское окружение COSMIC развивает новую панель, написанную на Rust
  4. OpenNews: Четвёртый альфа-выпуск среды рабочего стола COSMIC
  5. OpenNews: Выпуск дистрибутива CachyOS 241221, включающего ядро с дополнительными оптимизациями
  6. OpenNews: Дистрибутив Serpent OS перешёл на стадию альфа-тестирвания
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62478-bottles
Ключевые слова: bottles, rust, cosmic
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (47) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.5, Аноним (5), 18:46, 28/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Ну наконец-то! Еще один проект переписывают на Rust! Интересно, сколько раз они перепишут его с нуля, прежде чем поймут, что проблема была не в Python????
     
     
  • 2.9, Аноним (9), 19:09, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > прежде чем поймут, что проблема была не в Python

    это иксперды опеннета вроде тебя читать, а главное, понимать и думать не умеют - проблема не в python, а в gtk

     
     
  • 3.17, Аноним (-), 19:29, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Проблема в GTK, говоришь? А ничего, что Bottles Next на libcosmic, который, внезапно, тоже тулкит для GUI? Или это другое, понимать надо? Не поделишься своим глубочайшим анализом, почему переход с GTK на что-то другое — это не решение проблемы, а её усугубление?
     
     
  • 4.24, Апро (?), 20:05, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >  Не поделишься своим глубочайшим анализом, почему переход с GTK

    Ну единственная из "многих" идей/проблем, это:
    > GTK не позволяет реализовать многие идеи, такие как поддержка macOS

    но gtk+ поддерживает macos:

    https://www.gtk.org/docs/installations/macos

     
     
  • 5.40, Аноним (-), 21:14, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    "Единственная", говоришь? А ничего, что в той же новости прямым текстом написано про "проблемы, не решаемые без кардинального изменения архитектуры"? Или это тоже GTK виноват? А может, проблема всё-таки комплексная, и macOS — это лишь один из примеров, а не единственная причина? Не?


     
  • 5.48, Витюшка (?), 22:38, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Прежде чем делать такие утверждения нужно попробовать пописать хоть пару строчек на GTK. Ничего он там не поддерживает от слова "совсем".
     
  • 4.43, Аноним (43), 21:20, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Ясно же, что проблему кроссплатформенности решили бы C++ и Qt.
     
  • 2.10, Аноним (-), 19:14, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Если у вас есть проблема, и вы собираетесь решить ее с помощью Python - теперь у вас две проблемы.
     
  • 2.54, YetAnotherOnanym (ok), 23:47, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В Python не может не быть проблемы.
     
  • 2.72, Илья (??), 08:33, 29/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > что проблема была не в Python

    Чел, там проблема как раз в пейфоне.

     

  • 1.7, Аноним (7), 19:04, 28/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    На зло растохейтерам Rust шагает по планете. Трепещите, скоро Rust будет классикой программирования, и не знать его будет стыдно!
     
     
  • 2.19, xsignal (ok), 19:30, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Классикой не становятся, классикой рождаются, как C.
     
     
  • 3.34, Аноним (-), 21:05, 28/12/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 4.38, xsignal (ok), 21:09, 28/12/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.22, Аноним (22), 19:46, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    wrapper на расте для запуска огромного Си-монстра - ну такое себе достижение
     
  • 2.37, Аноним (37), 21:09, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Шагает в пропасть. Расту там и место.
     
  • 2.39, Аноним (39), 21:09, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    От раста там только гуй. Под капотом будет солянка из Go и C#.
     
     
  • 3.73, Илья (??), 08:35, 29/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    C# конфетка.

    Они бы авалонию взяли и не парились

     
  • 2.44, Аноним (43), 21:22, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Классикой п..больства он точно станет. Или уже стал.
     

  • 1.12, Аноним (12), 19:26, 28/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Перечисленные причины по которым они хотят его переписать выглядят как какая-то фигня
     
     
  • 2.64, нах. (?), 06:32, 29/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    мля, да чо вам все не так-то?
    Это же ж прекрасная ниша для раста!

    Ненужную фигню _начинают_переписывать_ на ненужной фигне, с использованием ненужной фигни.

    Я вот каждый раз плачу от счастья от таких новостей.

     

  • 1.13, Аноним (13), 19:26, 28/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    вот именно в контексте бутылок, я не понимаю зачем тут раст. питон вроде норм для таких тулов, нет?
     
     
  • 2.30, 12yoexpert (ok), 20:29, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    на питоне невозможно написать гуи для макоси, тебе же всё объяснили
     
     
  • 3.35, Аноним (37), 21:07, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    PyQt запретили или PySide? Или gi?
     
     
  • 4.50, 12yoexpert (ok), 23:19, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    да. статью не читал?
     

  • 1.16, xsignal (ok), 19:29, 28/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > будет переписан
    > имеющееся монолитное приложение на Python не позволяет реализовать многие идеи

    Мыслят они в правильном направлении, только переписать нужно не на Rust, а на языке Си. Тогда и любые идеи можно будет реализовать, и быстродействие значительно повысится.

     
     
  • 2.21, Аноним (-), 19:37, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    На языке V.
     

  • 1.20, Афроним (?), 19:33, 28/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Port Proton не имеет ограничений из-за GTK. Проблема у  Bottles явно не в GTK но разработчики зрят в будущее где Wayland,Rust,QT всех победил. Так что Port Proton ближайшие лет ацать* торт.
     
     
  • 2.41, pic (??), 21:15, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Они метят во что-то большее, типа Big Pictures.
    Поэтому слез с Bottles на PortProton.
     

  • 1.32, Аноним (32), 20:40, 28/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну как бы без разницы, кто что на что будет переписывать, хоть на Visual Basic. Официальный язык Опеннета - Си. И только Си. Только на нём пишут эксперты. УРА!
     
     
  • 2.52, Аноним (52), 23:36, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Посмотри ЗП Си и Python. Так что Python реально рулит.
     

  • 1.33, laindono (ok), 20:44, 28/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Для меня, как человека, изучавшего iced весьма глубоко, было сюрпризом, что его взяли для целой DE. Оно местами сыровато. По крайней мере было таковым, когда последний раз смотрел.
     
  • 1.36, Аноним (39), 21:08, 28/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Опять? Его же уже переписывали, не?
     
     
  • 2.65, нах. (?), 06:34, 29/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И чо?
     

  • 1.42, Аноним (42), 21:19, 28/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не понял. Next mode - положить все в один префикс?

    Хрен там оно работать будет.

    Хорошо, хоть классический вариант оставят.

     
  • 1.49, Аноним (49), 22:44, 28/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    для меня главная ценность bottles -- это их сборки wine caffe и wine soda, с вес... большой текст свёрнут, показать
     
     
  • 2.55, Аноним (39), 23:47, 28/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Даже у ванильного вайна совместимость лучше.
     

  • 1.59, Аноним (59), 03:23, 29/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Делов-то, пусть переписывают хоть на Cobol, есть вменяемые альтернативы. Сабж можно использовать не для запуска, а в роли дополнительного источника инструкций для запуска windows-программ.
     
  • 1.60, Аноним (60), 04:45, 29/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну как бы с одного проблемного языка на другой проблемный.
    Самое веселое что весь функционал бутылок - это обертка вокруг вайна.
    У лутриса и playonlinux хотя бы скрипты для нубов есть.

    https://github.com/winegui/WineGUI

     
     
  • 2.68, Аноним (68), 07:16, 29/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    У языка нет проблем, это у вас возможно проблемы с восприятием языка, или мира в котором живете
     
     
  • 3.69, Илья (??), 07:55, 29/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если у пейфона нет проблем, чего же с него всё переписывают?
     

  • 1.63, Аноним (63), 06:25, 29/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Зачем переписывать подобное приложение, которое представляет собой некритичный ко времени исполнения код, на Rust?
     
     
  • 2.66, нах. (?), 06:35, 29/12/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну мож слегкаа устали каждый раз с питона на питон?
    Давайте не будем им мешать, и просто за ними понаблюдаем!
     
  • 2.71, Фрол (?), 08:30, 29/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Птушо с критичным по времени выполнения кодом у хруста получается еще лучше?
     
  • 2.74, Аноним (-), 08:41, 29/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Этому как раз легко найти объяснение, но гораздо сложнее найти объяснение которое объяснит и других кандидатов: python, Electron/VueJS, go, rust. И кстати C#. Что-то их очень конкретно мечет.
     

  • 1.70, Фрол (?), 08:21, 29/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ето просто праздник какой-то.

    Пишем обертку для вайна. Птушо просто wine это сложна сложна нипанятна.

    Пишем обертку для вайна на питоне.

    Пока писали, запутались.

    Нунафиг, питон ета сложна сложна нипанятна.

    Все фигня, Миша, давай на го.

    Ищем гуй для го.

    Не нашли.

    Зато нашли электрон.

    Но юзеры сказали - нам только электрона не хватало, ночуйте со своим электроном на улице.

    Год думали.

    Придумали.

    Пишем обертку для вайна, состоящую из сервера, клиента и агента, на хрусте, с гуем из либкосмик. В этот-то раз точно получится.

    "Нужны ли тут слова?" (с)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру