Phát hành công cụ lắp ráp Qbs 2.0

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

Ngôn ngữ kịch bản được sử dụng trong Qbs được điều chỉnh để tự động hóa việc tạo và phân tích cú pháp các tập lệnh xây dựng bằng IDE. Ngoài ra, Qbs không tạo tệp tạo tệp và chính nó, không có trung gian như tiện ích tạo, kiểm soát việc khởi chạy trình biên dịch và trình liên kết, tối ưu hóa quy trình xây dựng dựa trên biểu đồ chi tiết của tất cả các phụ thuộc. Sự hiện diện của dữ liệu ban đầu về cấu trúc và các phụ thuộc trong dự án cho phép bạn thực hiện song song hiệu quả việc thực hiện các hoạt động trong một số luồng. Đối với các dự án lớn bao gồm một số lượng lớn tệp và thư mục con, hiệu suất của quá trình xây dựng lại bằng Qbs có thể vượt trội hơn nhiều lần so với thực hiện - quá trình xây dựng lại gần như tức thời và không khiến nhà phát triển mất thời gian chờ đợi.

Nhớ lại năm 2018, Công ty Qt đã quyết định ngừng phát triển Qbs. Qbs được phát triển để thay thế cho qmake, nhưng cuối cùng người ta quyết định sử dụng CMake làm hệ thống xây dựng chính cho Qt về lâu dài. Sự phát triển của Qbs hiện đã tiếp tục như một dự án độc lập được hỗ trợ bởi lực lượng cộng đồng và các nhà phát triển quan tâm. Cơ sở hạ tầng của Công ty Qt tiếp tục được sử dụng để phát triển.

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

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

Nguồn: opennet.ru

Thêm một lời nhận xét