Izdanje alata za sastavljanje Qbs 2.0

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

Skriptni jezik koji se koristi u Qbs-u prilagođen je za automatizaciju generiranja i raščlanjivanja skripti za izgradnju u integriranim razvojnim okruženjima. Osim toga, Qbs ne generira makefileove, već sam, bez posrednika poput uslužnog programa make, kontrolira pokretanje prevoditelja i povezivača, optimizirajući proces izgradnje na temelju detaljnog grafa svih ovisnosti. Prisutnost početnih podataka o strukturi i ovisnostima u projektu omogućuje vam učinkovito paraleliziranje izvođenja operacija u nekoliko niti. Za velike projekte koji se sastoje od velikog broja datoteka i poddirektorija, izvedba ponovne izgradnje pomoću Qbs-a može biti nekoliko puta brža od make - ponovna izgradnja se izvodi gotovo trenutno i ne tjera programera da gubi vrijeme na čekanje.

Podsjetimo, tvrtka Qt je 2018. odlučila prestati razvijati Qbs. Qbs je razvijen kao zamjena za qmake, ali na kraju je odlučeno koristiti CMake kao glavni sustav za izgradnju za Qt dugoročno. Razvoj Qbs-a sada je nastavljen kao neovisni projekt podržan od strane zajednice i zainteresiranih programera. Infrastruktura Qt Company i dalje se koristi za razvoj.

Značajna promjena u broju verzije povezana je s implementacijom novog JavaScript backend-a, koji je zamijenio QtScript, koji je proglašen zastarjelim u Qt 6. Smatralo se nerealnim da sami nastavimo održavati QtScript zbog složenih veza na JavaScriptCore, pa je samodostatna i kompaktna odabrana je kao osnova za novu pozadinu QuickJS JavaScript motor kreirao je Fabrice Bellard, koji je utemeljio projekte QEMU i FFmpeg. Motor podržava specifikaciju ES2019 i značajno je bolji 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 stajališta razvoja skripti sklopa, prijelaz na novi motor ne bi trebao dovesti do primjetnih promjena. Produktivnost će također ostati na približno istoj razini. Među razlikama su stroži zahtjevi u novom motoru za korištenje null vrijednosti, što može otkriti probleme u postojećim projektima koji su prošli nezapaženo pri korištenju QtScripta.

Izvor: opennet.ru

Dodajte komentar