Avaloniaとは?
Avaloniaは、開発者が.NETを使用してクロスプラットフォームアプリケーションを作成できる強力なフレームワークです。独自のレンダリングエンジンを使用してUIコントロールを描画し、Windows、macOS、Linux、Android、iOS、WebAssemblyなど、異なるプラットフォームでも一貫した外観と動作を保証します。つまり、開発者はUIコードを共有し、異なるターゲットプラットフォームで統一されたルックアンドフィールを維持できます。
MITライセンスの寛容さと利便性
MITライセンス(The MIT License)は、簡潔で寛容なオープンソースソフトウェアライセンスです。ソフトウェアのコピーを自由に使用、複製、変更、結合、公開、配布、サブライセンス、および/または販売することを許可します。利用者は、ソフトウェアおよびソフトウェアのすべてのコピーに著作権表示と許諾表示を含める必要があります。MITライセンスは利用者に対する制限が非常に少なく、基本的に大きな自由を付与し、様々なオープンソースプロジェクトに適しており、コードの共有と再利用を促進し、ソフトウェア技術の急速な発展を後押しします。
DotnetとAvaloniaはどちらもMITライセンスで、関連コードのアドレスは次の通りです:
- Dotnet: https://github.com/microsoft/dotnet
- Avalonia: https://github.com/AvaloniaUI/Avalonia
Semi.AvaloniaとUrsa.Avalonia
(一) Semi.Avalonia - テーマスタイルの魅力を実現
Semi.Avaloniaは、MITライセンスでオープンソース化されたAvalonia UIフレームワークにおけるSemi Designテーマスタイルの絶妙な表現です。アプリケーションにユニークなビジュアルスタイルをもたらし、まるで美しい絵巻物のように、ユーザーインターフェースに豊かな色彩と質感を加えます。

リポジトリアドレス: https://github.com/irihitech/Semi.Avalonia
(二) Ursa.Avalonia - カスタムコントロールの革新力
同じくMITライセンスに従うUrsa.Avaloniaカスタムコントロールライブラリと組み合わせることで、さらに強力になります。これらは手を取り合って、開発者に全く新しいビジュアルと機能体験を提供し、あたかも開発の旅に無限の可能性への扉を開くかのようです。

リポジトリアドレス: https://github.com/irihitech/Ursa.Avalonia
国内OSおよび国産OS分野でのパフォーマンス
特筆すべきは、これら2つのライブラリが国内OSおよび国産OS分野で優れたパフォーマンスを発揮し、龍芯3A6000および龍アーキテクチャ(LoongArch™)との互換性相互認証を完了していることです。これは自主制御と国産化技術の推進における重要な成果です。
以下の情報は、WeChat公式アカウント【铱泓科技】の8月2日の記事「Ursa与Semi正式完成龙架构兼容互认证」からの引用です:
大熊UrsaとSemiの2大Avaloniaコントロールセットは、龍芯3A6000および龍アーキテクチャ(LoongArch™)との互換性相互認証を完了しました。この重要なマイルストーンは、自主制御と国産化技術の推進において新たな進展を遂げたことを示しています。

コントロールの一部スクリーンショット
各コントロールには特徴がありますが、どれもユニークな魅力を示しています。いくつかスクリーンショットを簡単に切り取り、一目でその姿を覗いてみましょう:
Semi.Avaloniaテーマライブラリ一覧:

Ursa.Avaloniaカスタムコントロールライブラリ一覧:

実際の事例紹介
サイト運営者の会社プロジェクトでこれらのコントロールを使用していますが、スクリーンショットを掲載することはできません。代わりに、サイト運営者がAvalonia UIとこのテーマおよびコントロールライブラリを組み合わせて作成したツール「CodeWF.Toolbox」を参考にしてください:
リポジトリ: https://github.com/dotnet9/CodeWF.Toolbox
この小さなツールはAvalonia + Prism 8のモジュール開発を使用し、AOT公開後のファイル構成は次の通りです:

白黒テーマを備え、異なるビジュアル雰囲気を演出します:
![]() |
![]() |
また、国際化機能も実現し、世界中のユーザーに便利な体験を提供します:

さらに、実用的なJSON整形ツールとYAMLからJSONへの変換ツールを含み、それぞれ下図の通りです:
JSON整形ツール

YAMLからJSONへの変換ツール

使用経験の共有
- 公式ドキュメント
- Semiドキュメント: https://docs.irihi.tech/semi
- Ursaドキュメント: https://docs.irihi.tech/ursa/
- ソースコードの読み取り
まず、コントロールリポジトリ(上記アドレス)をクローンし、Readmeおよびデモの実行結果を基に検索します。例えば、ButtonのWarningエフェクトが優れていると感じた場合:

VS CodeまたはVSでリポジトリを開きます:

Semi.Avalonia.Demoを展開- Pagesディレクトリを見つけ、ButtonDemo.axamlを開く
- インターフェースのキーワード「Solid」「Warning」を基に必要なスタイルを見つける
このようにして、これらの優れたコントロールを簡単に使いこなし、開発作業に効率と魅力を加えることができます。本記事が、Avaloniaオープンソースコントロールライブラリの探求の旅において有益な指針とひらめきを提供し、開発の道でより素晴らしいアプリケーションを生み出す一助となることを願っています。

