Bottles Be to, Bottles į Rust perrašymas bus naudojamas libcosmic

Bottles Next logotipas

Los Pristatė butelių kūrėjus prieš kelias dienas per tinklaraščio įrašą išsamią informaciją apie darbą, kurį jie atliks su „Botteliais Next“, iniciatyva, kuria siekiama visiškai pertvarkyti projekto architektūrą ir kodų bazę.

Pareiškime paminėti, kad dabartinė Bottles versija, parašyta Python su GTK pagrindu sukurta sąsaja, susiduria su dideliais apribojimais dėl kurių sunku įtraukti naujas funkcijas, pvz., „MacOS“ palaikymą, ir kelia problemų, kurias galima išspręsti tik atlikus gilius struktūrinius pokyčius.

Daugiau nei prieš metus paskelbėme Bottles Next, visiškai perrašytą Bottles projektą. Iš pradžių buvo siekiama panaudoti žiniatinklio technologijas, kad būtų pasiekta patirtis, kurią numatėme savo vartotojams. Tačiau, kaip dažnai nutinka, buvo atlikti išsamūs tyrimai, diskusijos, eksperimentai ir nuolatinis pakartotinis vertinimas.

Kam išgyventi visas šias bėdas? Na, kad įsitikintume, jog priimame teisingus sprendimus.

Po pranešimo pradėjome eksperimentuoti su daugeliu technologijų, bet visų pirma įsiklausėme į bendruomenės atsiliepimus, ypač susijusius su „Electron“. Tai paskatino mus ieškoti kitų būdų, dėl kurių sukūrėme pagrindinius prototipus, pritaikytus konkretiems „Bottles Next“ poreikiams.

Ir štai mes šiandien.

Štai kodėl naujas požiūris padalija programą į tris komponentus pagrindinis:

  • Klientas: atsakingas už grafinę sąsają
  • Serveris: atsakingas už programų paleidimo ir „Wine“ prefiksų valdymo logiką
  • Agentas: veikia „Wine“ ir tiesiogiai sąveikauja su „Windows“ API.

Nors irir iš pradžių buvo svarstyta klientą įdiegti naudojant žiniatinklio technologijas pvz., Electron ir VueJS, ir sukurkite serverį Go, bendruomenės reakcija ir rezultatai gautas su prototipais paskatino kūrėjus šios idėjos atsisakyti.

Štai kodėl galiausiai buvo nuspręsta naudoti Rust tiek klientui, tiek serveriui Grafinė sąsaja bus pagrįsta libcosmic karkasu. Ši sistema, naudojama COSMIC darbalaukio aplinkoje, yra bibliotekos plėtinys ledas, kuri leidžia lengvai sukurti modernias ir keičiamo dydžio grafines sąsajas. Libcosmic priima reaktyvų programavimo modelį ir vadovaujasi architektūra, panašia į Elm deklaratyviąją kalbą, todėl kūrėjams, susipažinusiems su šiuo metodu, lengviau ją suprasti.

buteliai-kitas-rūdis

Nors kūrėjai norėtų dirbti su Go kalba, Galiausiai jie pasirinko „Rust“ dėl riboto aukštos kokybės įrankių, skirtų „Go“ grafinėms sąsajoms kurti. Nepaisant šio perėjimo, naujoji architektūra taip pat apima planus palikti klasikinę sąsajos versiją, suteikiančią vartotojams pažįstamą patirtį, prisitaikant prie naujų standartų ir technologijų.

Kalbant apie atvaizdavimą, Buteliai Kitas bus suderinamas su tokiais varikliais kaip Vulkan, Metal, DX12, OpenGL 2.1+ ir OpenGL ES 2.0+, užtikrina platų pritaikymą skirtingoms sistemoms ir techninei įrangai. Šis pertvarkymas žada užtikrinti didesnį našumą, išplėsti kelių platformų suderinamumą ir sukurti tvirtesnį pagrindą būsimam butelių kūrimui.

Šis naujinimas turi įtakos ir Bottles Legacy (dabartinė Bottles versija), ir Bottles Next. Per ateinančias savaites bus baigta pirmoji cpak versija. Tai yra nešiojamas, iš karto pašalintas programinės įrangos platinimo formatas, pagrįstas tik OCI vaizdais.

Taip pat minima, kad Buteliai Kitas agentas, kuri veikia Wine sukurtoje Windows aplinkoje, bus parašytas C# naudojant .NET. Šis pasirinkimas atitinka specifinius „WineBridge“ paslaugos poreikius, kuriems reikalinga efektyvi integracija su „Windows API“ emuliuotoje aplinkoje.

Kalbant apie plėtrą, se laukimas kad po kelių savaičių jis bus paskelbtas konteineris, skirtas išbandyti pradinį Bottles Next prototipą, visiškai parašyta Rust. Kol kas galima tik bazinė demonstracinė versija, leidžianti vartotojams susidaryti išankstinį supratimą apie projekto galimybes ir kryptį. Šis perėjimas prie „Bottles Next“ žada reikšmingus funkcionalumo, suderinamumo ir našumo patobulinimus.

Galiausiai, jei norite sužinoti daugiau apie tai, išsamią informaciją galite patikrinti sekanti nuoroda.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.