El proyecto Bottles será reescrito en Rust utilizando libcosmic

Los desarrolladores del programa Bottles, que ofrece una interfaz para simplificar la instalación, configuración y ejecución de aplicaciones de Windows en Linux, han publicado información sobre el desarrollo de la iniciativa Bottles Next, destinada a una reestructuración completa de la arquitectura y la base de código del proyecto. Se señala que la actual aplicación monolítica en Python con interfaz en GTK no permite implementar muchas ideas, como el soporte para macOS, limita las funcionalidades y provoca problemas que no se pueden resolver sin un cambio radical en la arquitectura.

La nueva arquitectura implica dividir la aplicación en tres componentes separados: un cliente con la implementación de la interfaz gráfica, un servidor con la lógica para ejecutar aplicaciones y gestionar los prefijos de Wine, y un agente que opera bajo Wine y se comunica con la API de Windows. Inicialmente, se planeó usar tecnologías web (Electron y VueJS) para implementar el cliente, pero servidor se iba a escribir en el lenguaje Go, pero los prototipos creados y el rechazo de la comunidad a la idea de cambiar al motor Electron llevaron a los desarrolladores a abandonar esta propuesta.

Finalmente, se decidió utilizar el lenguaje Rust para el desarrollo del cliente y servidores la interfaz gráfica se construirá sobre el marco libcosmic. Libcosmic se utiliza en el entorno de escritorio COSMIC y es una capa sobre la biblioteca iced, que proporciona funciones para crear aplicaciones gráficas y applets. Para el desarrollo se aplicará un modelo de programación reactiva y una arquitectura familiar para los desarrolladores que conocen el lenguaje de construcción de interfaces declarativas Elm. Los motores basados en Vulkan, Metal, DX12, OpenGL 2.1+ y OpenGL ES 2.0+ pueden ser utilizados para la renderización.

Se observa que a los desarrolladores les resultaría más cómodo utilizar el lenguaje Go, pero se tuvo que renunciar a él debido a la falta de kits de herramientas de calidad para el desarrollo de interfaces de usuario. Además de la nueva interfaz simplificada, se planea dejar como opción la clásica opción de interfaz. El código del agente se escribirá en C# y .NET, lo que se explica por la necesidad de ejecutar el servicio WineBridg en un entorno de Windows formado por Wine. Se planea publicar un contenedor para probar el prototipo inicial de Bottles Next, escrito en Rust, en unas pocas semanas. Actualmente, solo está disponible una demo básica.

El proyecto Bottles será reescrito en Rust utilizando libcosmic
El proyecto Bottles será reescrito en Rust utilizando libcosmic


Fuente: opennet.ru
Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster