Qbs 2.0 összeszerelő szerszám kioldó

Bemutatták a Qbs 2.0 build eszköz kiadását. A Qbs felépítéséhez függőségként Qt szükséges, bár magát a Qbs-t arra tervezték, hogy megszervezze bármely projekt összeállítását. A Qbs a QML nyelv egyszerűsített változatát használja a projektépítési szkriptek definiálásához, amely lehetővé teszi meglehetősen rugalmas összeállítási szabályok meghatározását, amelyekben külső modulok csatlakoztathatók, JavaScript függvények használhatók, és tetszőleges összeállítási szabályok hozhatók létre.

A Qbs-ben használt szkriptnyelvet úgy alakították ki, hogy automatizálja a build szkriptek IDE-k általi generálását és elemzését. Ezenkívül a Qbs nem hoz létre makefile-okat, és maga, közvetítők, például a make segédprogram nélkül, vezérli a fordítók és linkerek elindítását, optimalizálva az összeállítási folyamatot az összes függőség részletes grafikonja alapján. A kezdeti adatok jelenléte a struktúráról és a függőségekről a projektben lehetővé teszi a műveletek végrehajtásának hatékony párhuzamosítását több szálban. A nagyszámú fájlból és alkönyvtárból álló nagy projektek esetében a Qbs használatával végzett újraépítési teljesítmény többszörösen felülmúlhatja a make-t – az újraépítés szinte azonnal megtörténik, és nem kényszeríti a fejlesztőt a várakozásra.

Emlékezzünk vissza, hogy 2018-ban a Qt Company úgy döntött, hogy leállítja a Qbs fejlesztését. A Qbs-t a qmake helyettesítésére fejlesztették ki, de végül úgy döntöttek, hogy hosszú távon a CMake-et használják a Qt fő összeállítási rendszereként. A Qbs fejlesztése immár független projektként folytatódott, közösségi erők és érdeklődő fejlesztők támogatásával. Továbbra is a Qt Company infrastruktúráját használják fejlesztésre.

Jelentős változás a verziószámban egy új JavaScript-háttérrendszer bevezetésével függ össze, amely a Qt 6-ban elavult QtScriptet váltotta fel. Irreálisnak tartották a QtScript önálló fenntartását a JavaScriptCore-hoz való összetett kötések miatt, így egy önálló -Elegendő és kompakt egyet választottak az új háttér QuickJS JavaScript motor alapjául, amelyet Fabrice Bellard hozott létre, aki a QEMU és az FFmpeg projekteket alapította. A motor támogatja az ES2019 specifikációt, és teljesítményben jelentősen felülmúlja a meglévő társait (XS 35, DukTape több mint kétszer, JerryScript háromszor, MuJS pedig hétszer).

A build szkriptek fejlesztése szempontjából az új motorra való áttérés nem vezethet észrevehető változásokhoz. A teljesítmény is nagyjából változatlan marad. A különbségek közül az új motorban szigorúbb követelmények vonatkoznak a null értékek használatára, ami felfedheti a meglévő projektek olyan problémáit, amelyek a QtScript használatakor észrevétlenek maradtak.

Forrás: opennet.ru

Hozzászólás