Projektet Bottles kommer att skrivas om i Rust med hjÀlp av libcosmic

Utvecklarna av programmet Bottles, som erbjuder ett grÀnssnitt för att förenkla installation, konfiguration och körning av Windows-applikationer i Linux, har publicerat information om utvecklingen av initiativet Bottles Next, som syftar till en fullstÀndig omarbetning av projektets arkitektur och kodbas. Det pÄpekas att den befintliga monolitiska applikationen i Python med ett GTK-grÀnssnitt inte tillÄter mÄnga idéer, sÄsom stöd för macOS, begrÀnsar funktionaliteten och leder till problem som inte kan lösas utan en radikal förÀndring av arkitekturen.

Den nya arkitekturen innebÀr en uppdelning av applikationen i tre separata komponenter: klienten med implementeringen av det grafiska grÀnssnittet, servern med logik för att köra applikationer och hantera Wine-prefix och en agent som körs under Wine och interagerar med Windows API. Ursprungligen var det planerat att anvÀnda webbteknologier (Electron och VueJS) för klienten, men server skrive den i Go, men de skapade prototyperna och avvisandet frÄn gemenskapen av idén att gÄ över till Electron-motorn fick utvecklarna att överge denna idé.

Det beslutades till slut att anvÀnda sprÄket Rust för utvecklingen av klienten och servern bygga det grafiska grÀnssnittet pÄ ramverket libcosmic. Libcosmic anvÀnds i skrivbordsmiljön COSMIC och Àr ett lager ovanpÄ biblioteket iced, som tillhandahÄller funktioner för att skapa grafiska applikationer och appletar. Utvecklingen tillÀmpar en reaktiv programmeringsmodell och en arkitektur som Àr bekant för utvecklare som Àr insatta i det deklarativa grÀnssnittsbyggande sprÄket Elm. Rendering kan ske med motorer baserade pÄ Vulkan, Metal, DX12, OpenGL 2.1+ och OpenGL ES 2.0+.

Det pÄpekas att det skulle vara mer bekvÀmt för utvecklarna att anvÀnda Go, men de var tvungna att överge det pÄ grund av bristen pÄ kvalitativa verktyg för utveckling av anvÀndargrÀnssnitt. Förutom det nya förenklade grÀnssnittet planeras det att som ett alternativ behÄlla den klassiska versionen av grÀnssnittet. Koden för agenten kommer att skrivas i C# och .NET, vilket förklaras av behovet av att köra tjÀnsten WineBridge i en Windows-miljö skapad av Wine. Container för test av den första prototypen av Bottles Next, skriven i Rust, planeras att publiceras om nÄgra veckor. För nÀrvarande Àr endast en enkel demoversion tillgÀnglig.

Projektet Bottles kommer att skrivas om i Rust med hjÀlp av libcosmic
Projektet Bottles kommer att skrivas om i Rust med hjÀlp av libcosmic


KĂ€lla: opennet.ru
Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster