Bottles as the open-source manager for Wine to more easily run Windows games and applications on Linux has been pursuing the “Bottles Next” initiative as a rewrite to this software. The Bottles developers have decided they will be leveraging the Rust programming language as well as the libcosmic UI toolkit as part of this rewrite.
Bottles Next was announced last year as a complete rewrite of the project to address various issues and shortcomings within the existing codebase for this Wine manager on Linux and macOS systems. Plus they want to enhance the user experience and make it all-around better with a new architecture.
Initially the developers were planning to leverage web technologies for Bottles Next but have now decided rather than going a route like using Electron and/or WebAssembly, they will be leveraging the Rust programming language. They will be using the Rust programming language on both the client and server portions of the code, libcosmic as the client toolkit, and C# and .NET for the agent.
As for going with the Rust programming language, today’s announcement notes its decision:
“Rust is a highly performant and robust language with a growing community. To be honest, it wasn’t my first choice. I would have been more comfortable sticking with Go, but unfortunately, there are no quality GUI toolkits for Go that align with our goals:”
The libcosmic toolkit comes out of System76’s COSMIC desktop environment with this COSMIC library based on the Iced toolkit. A GTK client will be available still for those preferring it.
More details on this Bottles Next update via the software project site at UseBottles.com.