Unoプラットフォーム入門:フルC#クロスプラットフォーム開発
長年にわたり、C#のクロスプラットフォーム開発は、多くの開発者が夢見る目標でした。 モバイルアプリ、デスクトップソフトウェア、Webエクスペリエンス、さらには組み込みデバイスなど、複数のプラットフォームにまたがるクロスプラットフォームアプリケーションの構築と保守に単一のコードベースを使用するというアイデアは、大幅な時間の節約になります。
彼の包括的なビデオ"Intro To Uno Platform - Full Cross-Platform C# Development"の中で、ティム・コーリーは、UnoプラットフォームがC#開発者にとってどのようにこの夢を実現するのか、順を追って説明しています。 Timは、Unoのインストール、Visual Studioでのプロジェクト作成、.NETフレームワーク環境の設定、Windows、Android、iOS、Linux、Web上でのアプリの実行方法を紹介しています。 主要な機能を説明し、Unoがクロスプラットフォーム開発者の作業を簡素化する点を強調し、Hot Designのようなプレミアムツールのデモも行います。
ティムの説明に従って、オープンソースライブラリと.NETのパワーを使って、Unoがどのようにモダンなモバイルアプリケーションなどを構築するのに役立つのか、ビデオのウォークスルーに深く潜ってみましょう。
Unoプラットフォームとは
ティムはビデオの冒頭で、ウノのミッションを要約する:"一度ビルドすれば、どこにでもデプロイできる - それが夢であり、Unoプラットフォームはその夢を実現します"。
ウノは単なるフレームワークやツールキットではありません。 ティムが説明するように、"これは完全なプラットフォームであり、開発者は単一のコードベースからクロスプラットフォームのアプリケーションを作成することができます。 ウノはWindows、Android、iOS、Linux、macOS、WebAssemblyをサポートしており、1つのプロジェクトでデスクトップからモバイルデバイス、さらにはウェブまで、あらゆる主要環境に対応できます。
ティムはすぐにコストに対応します。 彼は、ウノがApache 2.0ライセンスに基づく無料のオープンソースプロジェクトであることを視聴者に保証する:"アプリケーションのビルドとデプロイに必要なものはすべて無料です"コアプラットフォームは、個人、小規模チーム、そして大企業まで、すべてのユーザーが完全に無料で利用できます。
唯一の有料ツールは、アプリのビルドをスピードアップするUIデザイナーのHot Designですが、これはオプションです。 宇野氏の持続可能性モデルは、レッドハットのようなものだとティム氏は指摘する。高度なプレミアムツールとエンタープライズサポートが、オープンソース財団の資金源となっているのだ。
ウノを Visual Studio にインストールする
TimはVisual StudioにUnoをインストールする手順を説明します。 彼は拡張機能メニューに向かい、"Uno Platform "を検索してインストールする。
彼は、なぜこのインストーラが重要なのかを説明する:"クロスプラットフォーム開発は簡単ではありません。 Android、iOS、Windows、Linux、Web向けのアプリを作成することは、さまざまなSDK、エミュレータ、デプロイメントシステムを使いこなすことを意味します。 ウノは、面倒な部分を簡素化します:
"このインストーラは、.NET MAUI、エミュレータ、ツールのような必要なコンポーネントも裏でセットアップしてくれるため、あなたのために素晴らしい仕事をしてくれました"とティムは言います。
新しい Uno プロジェクトの作成
Unoをインストールした状態で、TimはVisual Studioでプロジェクトを開始します:File > New Project > Uno Platform App.彼はそれを "UnoDemo "と名付け、重要なセットアップステップを指摘する:
"このボックス"ソリューションとプロジェクトを同じディレクトリに配置する"にチェックを入れないとエラーになります。
そこからウノは、ティムが"amazing"と呼ぶ強力なプロジェクトウィザードを起動します。
プロジェクト ウィザードの説明
クロスプラットフォームの開発者がアプリの基礎をカスタマイズする場所であるため、ティムはウィザードに時間を費やしています。
.NETフレームワークのバージョン
ウノは.NET 9をサポートしている。ティムは、.NET 8を超える機能が必要だったため、.NET 9を選んだと説明する。
プラットフォーム
彼はAndroid、iOS、WebAssembly、デスクトップを選択している。宇野は現在、スピードのためにSkiaレンダリングを使用しています。 ティムは、モバイル・アプリケーションに重点を置いている場合でも、デスクトップ・サポートを必ず含めるようアドバイスしています:
"エミュレータを実行する必要がないので、デスクトップで開発する方がはるかに速いです"。
UIパターンとマークアップ
Timは、MVVM(WPF開発者にはおなじみ)と、より新しいMVU/MVUX(Model-View-Update Extended)について説明しています。 ウノのサンプルの多くはMVUXを使用しています。 マークアップには、XAMLまたはC#を選択できます。
"XAMLを選んでください"とTimは提案します。なぜなら、UnoのプレミアムホットデザインツールはXAMLでしか動作しないからです。
テーマ、拡張機能、およびサービス
開発者は、MaterialまたはFluentテーマを選択し、ライト/ダークモードを有効にし、依存性注入とローカリゼーションを追加することもできます。
RefitやKyotaのようなHTTPコールのオプションを選ぶと、Unoはソースコードサンプルをプロジェクトに足場組みし、これらの部分がどのように機能するかを示すとティムは指摘する。
"このビルダーは、始めるためのさまざまな例を示してくれるので、とても役に立ちます"。
最初の実行と環境のセットアップ
TimがCreateをクリックすると、プロジェクトがビルドされ、Visual Studioが環境の問題を表示します。 そこで、ウノのウノチェックツールが威力を発揮します。
"このコマンドをコピーして実行し、エラーがなくなるまで実行し続けてください。 修正できるところは修正します"。
SDKのインストール、Android Studioの設定、エミュレータのセットアップは、Uno Checkが行います。 ティムはこの自動化を高く評価している:
"ここにはたくさんの複雑さがありますが、彼らはその複雑さをすべて受け止めて、きれいにしてくれます"。
アプリの実行とホット リロードの使用
Timはデスクトップ・ターゲット(テスト用に最速)に切り替え、アプリを実行します。生成されたデモにはテキストボックスとボタンがあり、シンプルだが機能的だ。
彼は、XAMLでUIコードを変更し、即座に更新を確認できる無料の機能であるHot Reloadを実演しています:
""名前を入力してください "を "名前を入力してください "に変更し、保存を押して、ライブになりました"。
このシームレスなワークフローは、複数のプラットフォームで作業するクロスプラットフォーム開発者の生産性を大きく向上させます。
ホット デザインの探求 - オプションだが強力
次に、Timは炎のアイコンをクリックし、ホットデザインを有効にします。
"これは有料のアップグレードです - 持っている必要はありませんが、持っていると便利です"。
Hot Designでは、実行中のアプリにUI要素をドラッグ&ドロップしてプロパティを調整し、その編集をソースコードに直接反映させることができます。
TimはTextBlockをドラッグし、"Hello World "と表示するように設定し、色を変更します。 彼はこう指摘する:
"ホットデザインはプレビューするだけではありません。
また、Hot Designがモバイルデバイス用のレスポンシブレイアウト、テーマの明暗切り替え、高度なバインディング設定をどのように処理するか、すべてプロジェクトを実行しながら実演します。
ティムはその価値を次のようにまとめています:
"月に1時間でも節約できれば、39ドルの価値があります。 それ以上の節約になるでしょう"。
生成されたソースコードを見る
宇野が生成したコードを検査するティム。 彼は、このプロジェクトがMVUXをベースにしていること、モデルがページにバインドされていること、そしてハイライトを示しています:
Servicesフォルダ - キャッシュとHTTPのサンプルコードが含まれています。
ローカリゼーションリソース - 英語、スペイン語、フランス語、ポルトガル語の翻訳サンプル。
- csprojの違い - Unoはマイクロソフトのデフォルトではなく、独自のUNO.SDKを使用しています。
デバッグ中に、デスクトップ・ターゲット以外をコメントアウトすることで、リビルドをスピードアップすることができます。
プラットフォームとカスタムコードを理解する
Timは、Android、iOSなどのプラットフォーム固有のコードを含むPlatformsフォルダを探検します:
"ほとんどの場合、あなたのコードはプラットフォーム間で動作しますが、AndroidやiOSのためだけに書く必要があるものもあります。
この柔軟性により、クロスプラットフォーム作業の95%はウノが処理し、必要に応じて独自のモバイルデバイスや組み込みデバイスに合わせたソースコードを書くことができます。
Beyond Visual Studio - VS Code と Rider
UnoはVisual Studioに固定されていません。 ティムは、new.platform.unoにあるUnoのウェブベースのプロジェクトウィザードのおかげで、クロスプラットフォームの開発者がVS CodeやJetBrains Riderをどのように使用できるかを示しています。
"そこでプロジェクトを構成し、CLI コマンドを生成し、Visual Studio 外で同じスターター プロジェクトを scaffold できます"。
このため、Linuxラップトップで実験している趣味の開発者から、Windowsマシンで本番用モバイルアプリケーションを構築しているチームまで、あらゆる種類のセットアップで作業している開発者に柔軟に対応できます。
まとめ:本当にどこでも使えるプラットフォーム
ティムは、宇野選手の活躍を要約してビデオを締めくくります:
"Windows、Mac、Linux、WebAssembly、iOS、Androidに展開します。 あなたのC#コードはほとんどどこでも動作します"。
ウノは、iOSやAndroidのモバイルアプリケーションから、WindowsやLinuxのデスクトップソフトウェア、ブラウザ上のウェブアプリケーションまで、開発者が単一のコードベースでアプリケーションを作成し、複数のプラットフォームで実行することを可能にします。
ティムは、ウノを試してみて、次に何を試してほしいかを共有するよう、みんなに勧めている:"飛び込むものがたくさんあるので、皆さんにお見せするのが待ちきれません"。
結論
ティム・コーリーのウノ・プラットフォームのビデオに従えば、このオープンソースプロジェクトがクロスプラットフォーム開発をどのように簡素化するかについて、明確なイメージを得ることができます。 Visual Studioのような使い慣れた.NETツールを使用し、オープンソースライブラリを活用することで、開発者は1つのコードベースでモバイルアプリ、デスクトップソフトウェア、Webエクスペリエンスを構築できます。
Hot Reloadのような無料のコアツールから、オプションの生産性向上ツールHot Designまで、Unoは最新のC#クロスプラットフォーム開発のための完全なエコシステムを提供しています。


