Eliberarea instrumentului de asamblare Qbs 2.0

Представлен выпуск сборочного инструментария Qbs 2.0. Для сборки Qbs в числе зависимостей требуется Qt, хотя сам Qbs рассчитан на организацию сборки любых проектов. Qbs использует упрощённый вариант языка QML для определения сценариев сборки проекта, что позволяет определять достаточно гибкие правила сборки, в которых могут подключаться внешние модули, использоваться функции на JavaScript и создаваться произвольные правила сборки.

Limbajul de scripting folosit în Qbs este adaptat pentru a automatiza generarea și analizarea scripturilor de compilare de către mediile de dezvoltare integrate. În plus, Qbs nu generează fișiere make, dar el însuși, fără intermediari precum utilitarul make, controlează lansarea compilatoarelor și a link-urilor, optimizând procesul de construire pe baza unui grafic detaliat al tuturor dependențelor. Prezența datelor inițiale despre structură și dependențe în proiect vă permite să paralelizați eficient execuția operațiunilor în mai multe fire. Pentru proiectele mari care constau dintr-un număr mare de fișiere și subdirectoare, performanța reconstrucției folosind Qbs poate fi de câteva ori mai rapidă decât make - reconstrucția se realizează aproape instantaneu și nu obligă dezvoltatorul să piardă timpul în așteptare.

Să ne amintim că în 2018, compania Qt a decis să nu mai dezvolte Qbs. Qbs a fost dezvoltat ca înlocuitor pentru qmake, dar în cele din urmă s-a decis să se utilizeze CMake ca principal sistem de construcție pentru Qt pe termen lung. Dezvoltarea Qbs a continuat acum ca un proiect independent susținut de comunitate și de dezvoltatorii interesați. Infrastructura companiei Qt continuă să fie utilizată pentru dezvoltare.

Значительное изменение номера версии связано с реализацией нового JavaScript-бэкенда, который пришёл на смену QtScript, объявленному устаревшим в Qt 6. Продолжать сопровождение QtScript своими силами из-за сложных привязок к JavaScriptCore признано нереалистичным, поэтому в качестве основы для нового бэкенда выбран самодостаточный и компактный JavaScript-движок QuickJS, созданный Фабрисом Белларом (Fabrice Bellard), основавшим в своё время проекты QEMU и FFmpeg. Движок поддерживает спецификацию ES2019 и по производительности заметно превосходит имеющиеся аналоги (XS на 35%, DukTape более чем в два раза, JerryScript в три раза, а MuJS в семь раз).

С точки зрения разработки сборочных сценариев переход на новый движок не должен привести к заметным изменениям. Производительность также сохранится примерно на том же уровне. Из отличий отмечаются более строгие требования в новом движке к использованию неопределённых значений, что может выявить проблемы в имеющихся проектах, которые оставались незамеченными при использовании QtScript.

Sursa: opennet.ru

Adauga un comentariu