Projekti Bottles do të ri-shkruhet në gjuhën Rust duke përdorur libcosmic

Zhvilluesit e programit Bottles, i cili ofron një ndërfaqe për të thjeshtuar instalimin, konfigurimin dhe funksionimin e aplikacioneve Windows në Linux, publikuan informacione rreth zhvillimit të iniciativës Bottles Next, e cila ka si objektiv një ripërcaktim të plotë të arkitekturës dhe bazës së kodit të projektit. Vlen të theksohet se aplikacioni aktual monolitik në Python me ndërfaqe GTK nuk lejon zbatimin e shumë ideve, siç është mbështetje për macOS, e kufizon funksionalitetin dhe çon në shfaqjen e problemeve që nuk zgjidhen pa një ndryshim radikal të arkitekturës.

Arkitektura e re parashikon ndarjen e aplikacionit në tri komponente të veçanta: një klient me realizimin e një ndërfaqe grafike, një server me logjikën e ekzekutimit të aplikacioneve dhe menaxhimit të prefikseve Wine dhe një agjent që punon nën Wine dhe ndërvepron me API-në e Windows. Fillimisht ishte planifikuar të përdoren teknologji web në zbatimin e klientit (Electron dhe VueJS), por server duhej të shkruhej në gjuhën Go, por prototipat e krijuar dhe refuzimi nga komuniteti i ideve për të kaluar në motorin Electron, kanë bërë që zhvilluesit të heqin dorë nga kjo ide.

Më në fund, u vendos që për zhvillimin e klientit të përdoret serverit gjuha Rust, ndërsa ndërfaqja grafike të ndërtohet mbi bazën e kornizës libcosmic. Libcosmic përdoret në mjedisin e desktopit COSMIC dhe është një shtresë mbi bibliotekën iced, e cila ofron funksione për krijimin e aplikacioneve grafike dhe apletve. Për zhvillimin aplikohet një model i programimit reaktiv dhe një arkitekturë e njohur për zhvilluesit që janë të njohur me gjuhën e ndërtimit deklarativ të ndërfaqeve Elm. Për vizatimin mund të përdoren motorë të bazuar në Vulkan, Metal, DX12, OpenGL 2.1+ dhe OpenGL ES 2.0+.

Raportohet se zhvilluesve ju mbetet më komode të përdorin gjuhën Go, por u detyruan të heqin dorë prej saj për shkak të mungesës së toolkit-eve cilësore për zhvillimin e ndërfaqeve të përdoruesit. Përveç ndërfaqes së re të thjeshtëzuar, pritet që të ruhet opsioni për variantin klasik të njohur të ndërfaqes. Kodi i agjentit do të shkruhet në C# dhe .NET, gjë që shpjegohet nga nevoja për të ekzekutuar shërbimin WineBridg në një mjedis Windows të formuar nga Wine. Një kontejner për testimin e prototipit fillestar Bottles Next, i shkruar në Rust, pritet të publikohet për disa javë. Aktualisht është e disponueshme vetëm një version demo bazik.

Projekti Bottles do të ri-shkruhet në gjuhën Rust duke përdorur libcosmic
Projekti Bottles do të ri-shkruhet në gjuhën Rust duke përdorur libcosmic


Burimi: opennet.ru
Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster