Qbs 2.0 oslobađanje alata za montažu

Najavljeno je izdavanje Qbs 2.0 kompleta alata za sklapanje. Za izgradnju Qbs-a, Qt je potreban među ovisnostima, iako je sam Qbs dizajniran da organizira sastavljanje bilo kojeg projekta. Qbs koristi pojednostavljenu verziju QML jezika za definiranje skripti izgradnje projekta, što vam omogućava da definirate prilično fleksibilna pravila izgradnje koja mogu povezati vanjske module, koristiti JavaScript funkcije i kreirati prilagođena pravila izgradnje.

Skriptni jezik koji se koristi u Qbs-u je prilagođen za automatizaciju generisanja i raščlanjivanja skriptova za izgradnju od strane IDE-a. Pored toga, Qbs ne generiše makefile, i sam, bez posrednika kao što je make uslužni program, kontroliše pokretanje kompajlera i linkera, optimizujući proces izgradnje na osnovu detaljnog grafikona svih zavisnosti. Prisustvo početnih podataka o strukturi i zavisnosti u projektu omogućava vam da efikasno paralelizujete izvođenje operacija u nekoliko niti. Za velike projekte koji se sastoje od velikog broja datoteka i poddirektorija, performanse rekonstrukcije pomoću Qbs-a mogu nadmašiti make za nekoliko puta - rekonstrukcija je gotovo trenutna i ne tjera programera da troši vrijeme na čekanje.

Podsjetimo da je 2018. kompanija Qt odlučila da prekine razvoj Qbs-a. Qbs je razvijen kao zamjena za qmake, ali je na kraju odlučeno da se koristi CMake kao glavni sistem izgradnje za Qt na duge staze. Razvoj Qbs-a je sada nastavljen kao nezavisan projekat podržan od strane snaga zajednice i zainteresovanih programera. Za razvoj se i dalje koristi infrastruktura kompanije Qt.

Značajna promjena u broju verzije povezana je sa implementacijom novog JavaScript backend-a, koji je zamijenio QtScript, koji je proglašen zastarjelim u Qt 6. Smatralo se nerealnim da nastavimo sami održavati QtScript zbog složenih veza za JavaScriptCore, pa je samodovoljan i kompaktan je izabran kao osnova za novi backend. QuickJS JavaScript engine kreirao je Fabrice Bellard, koji je osnovao QEMU i FFmpeg projekte. Motor podržava specifikaciju ES2019 i primjetno je superiorniji u performansama od postojećih analoga (XS za 35%, DukTape za više od dva puta, JerryScript za tri puta i MuJS za sedam puta).

Sa stanovišta razvoja asemblerskih skripti, prelazak na novi motor ne bi trebao dovesti do primjetnih promjena. Produktivnost će također ostati na približno istom nivou. Među razlikama, postoje stroži zahtjevi u novom motoru za korištenje null-a, što može otkriti probleme u postojećim projektima koji su ostali neprimijećeni kada se koristi QtScript.

izvor: opennet.ru

Dodajte komentar