Skip to main content

QMLとC#を組み合わせるQt Bridge for C# 0.4.0 Betaリリース

コメント
このブログは「QML and C# without C++: Qt Bridge for C# 0.4.0 Beta Released」の抄訳です。

Qt Bridges の継続的な開発の一環として、これまでにリリースした2つのBetaバージョンに続き、C# bridge に新機能を追加してきました。この度、新しいBetaバージョン0.4.0のリリースを発表します。今回のリリースの目玉は、C++コンパイラなしでC# + QMLアプリケーションを開発できるようになったことです。これにより、C#開発者は使い慣れた開発ワークフローを維持したまま、Qtの UIフレームワークの機能をフル活用できるようになります。このリリースではその他に、macOSおよびWindows on ARMのサポートも追加されています。

Qt Bridges for C# を試す

はじめ方はこちら

C++は不要

Qt Bridgesは、C++以外の言語で開発するエンジニアを対象としており、使い慣れた言語や開発環境のワークフローにほとんど影響を与えることなく、QtのUIフレームワークへのアクセスを提供することを目指しています。C# bridgeにおいて、これまで残っていた最大のハードルは、C#の型に対応するネイティブラッパーを生成するためにC++ツールチェーンが必要だったことでした。これにより、開発者は本来不要なツールチェーンをインストールしなければならなかっただけでなく、C++コンパイルのオーバーヘッドによってプロジェクトのビルド時間が大幅に増加していました。

今回リリースする新バージョン0.4 Betaでは、C++コンパイラはもはや不要です。ソースコードを生成する代わりに、C# bridgeは実行時に汎用ネイティブラッパーを構成するための型メタデータをエクスポートできるようになりました。これにより、ビルド時間は大幅に短縮され、一般的なC#プロジェクトと同程度の速度になります。

現時点では、この機能はWindowsプラットフォーム向けの試験的機能としてリリースしています。試してみるには、新しいQt Bridge for C# Applicationプロジェクトを作成する際に、型をメタデータとしてエクスポートするオプションをデフォルトで選択してください。

dotnet_new_exportas_metadata

C++コンパイラを必要としないQt Bridge for C#プロジェクトの作成

C#の型をC++ソースコードとしてエクスポートするオプションは引き続き利用可能で、プロジェクト全体に対してグローバルに有効にすることも、Export属性を付けた特定の型に対してのみ有効にすることもできます。

[Export(Options = ExportAs.SourceCode)]
public class Foo
{ ... }

特定の型に対してC++ソースコード生成を有効化

macOSおよびWindows on ARM

0.4.0 Betaリリースでは、macOSおよびWindows on ARMのサポートも導入されました。これらのプラットフォーム向けのパッケージは、既存のWindowsおよびLinux向けパッケージとともにNuGetで提供されます。

0.4.0 Betaリリースに含まれる新機能や改善点の詳細は、更新された変更履歴をご覧ください。

次のステップ

C# bridgeを試して、ぜひフィードバックをお寄せください。使い方の詳細や手順については、専用ブログを参照してください。

Qt Bridges for C# を試す

はじめ方はこちら

 

Qt Bridge for C#の次のリリースは、完全で安定した機能セットを備えたTechnology Preview(TP)となる予定です。この目標に到達するまでの間、皆さんからのフィードバックは非常に貴重です。ぜひご意見をお聞かせください。

関連する議論にはQt Bridges Forumを、不具合の報告にはバグトラッキングプラットフォーム(JIRA)をご利用ください。

コメント

ブログを購読

Qt 6.11 を今すぐ試そう!

最新リリースはこちらからダウンロードできます。 www.qt.io/download

 Qt 6.11 がリリースされました!アプリケーション開発者やデバイス開発者向けに、多くの新機能と改善が追加されています。 

採用情報 

現在、さまざまなポジションで採用を行っています。募集職種はこちら をご覧ください。また、Instagram をフォローして #QtPeople の働き方もぜひチェックしてください。