Qbs 2.0 アセンブリ ツールのリリース

Qbs 2.0 ビルド ツールのリリースが導入されました。 Qbs を構築するには依存関係として Qt が必要ですが、Qbs 自体はあらゆるプロジェクトのアセンブリを編成するように設計されています。 Qbs は、QML 言語の簡易バージョンを使用してプロジェクト ビルド スクリプトを定義します。これにより、外部モジュールを接続したり、JavaScript 関数を使用したり、任意のビルド ルールを作成したりできる、かなり柔軟なビルド ルールを定義できます。

Qbs で使用されるスクリプト言語は、IDE によるビルド スクリプトの生成と解析を自動化するように適合されています。 さらに、Qbs は makefile を生成せず、make ユーティリティなどの仲介者なしで Qbs 自体がコンパイラーとリンカーの起動を制御し、すべての依存関係の詳細なグラフに基づいてビルド プロセスを最適化します。 プロジェクト内の構造と依存関係に関する初期データが存在することにより、複数のスレッドでの操作の実行を効果的に並列化できます。 多数のファイルとサブディレクトリで構成される大規模なプロジェクトの場合、Qbs を使用したリビルドのパフォーマンスは make よりも数倍優れています。リビルドはほぼ瞬時に行われ、開発者が待ち時間を費やす必要はありません。

2018 年に Qt Company が Qbs の開発を中止することを決定したことを思い出してください。 Qbs は qmake の代替として開発されましたが、最終的には長期的には CMake を Qt のメイン ビルド システムとして使用することが決定されました。 Qbs の開発は現在、コミュニティの力と関心のある開発者によってサポートされる独立したプロジェクトとして継続されています。 Qt Company インフラストラクチャは引き続き開発に使用されます。

バージョン番号の大幅な変更は、Qt 6 で非推奨となった QtScript に代わる新しい JavaScript バックエンドの実装に関連しています。JavaScriptCore への複雑なバインディングのため、QtScript を単独で維持し続けるのは非現実的であると考えられていました。 -QEMU および FFmpeg プロジェクトを設立した Fabrice Bellard によって作成された新しいバックエンド QuickJS JavaScript エンジンの基礎として、十分でコンパクトなエンジンが選択されました。 このエンジンは ES2019 仕様をサポートしており、既存のエンジンよりもパフォーマンスが大幅に優れています (XS は 35%、DukTape は XNUMX 倍以上、JerryScript は XNUMX 倍、MuJS は XNUMX 倍)。

ビルド スクリプトの開発の観点から見ると、新しいエンジンへの移行によって目立った変化が生じることはありません。 パフォーマンスもほぼ同じままになります。 違いのうち、新しいエンジンでは null 値の使用に関してより厳しい要件があり、QtScript を使用しているときには気づかなかった既存のプロジェクトの問題が明らかになる可能性があります。

出所: オープンネット.ru

コメントを追加します