次の方法で共有


Visual Studio でのクロスプラットフォーム アプリ開発

Visual Studio を使用して、Android、iOS、Mac Catalyst、および Windows デバイス用のアプリを構築できます。 アプリを設計するときは、Visual Studio のツールを使用して、Microsoft 365、Azure App Service、Application Insights などの接続済みサービスを簡単に追加できます。

C# の .NET、HTML、JavaScript、または C++ を使用してアプリをビルドします。 コード、文字列、画像、場合によってはユーザー インターフェイスを共有します。

ゲームまたはイマーシブなグラフィカル アプリを構築する場合は、Visual Studio Tools for Unity (VSTU) をインストールし、Unity を使用した Visual Studio のすべての強力な生産性機能、iOS、Android、Windows、およびその他のプラットフォームで実行されるアプリ用の一般的なクロスプラットフォーム ゲーム/グラフィックス エンジンと開発環境をお楽しみください。

Android、iOS、Mac Catalyst、Windows 用のアプリを構築する (.NET)

.NET マルチプラットフォーム アプリ UI (.NET MAUI) を使用すると、同じソリューションで Android、iOS、Mac Catalyst、Windows をターゲットにして、コードや UI を共有できます。

詳細情報
Visual Studio のインストール (「VisualStudio.com」)
.NET MAUI](https://dotnet.microsoft.com/apps/maui) について (dotnet.microsoft.com)
.NET MAUI アプリ開発ドキュメント
Swift と C# の類似点について説明します (download.microsoft.com)

1 つのコード ベースから Android、iOS、Mac Catalyst、Windows をターゲットとする

.NET MAUI は、C# と XAML を使用してネイティブモバイルおよびデスクトップ アプリを作成するためのクロスプラットフォーム フレームワークです。 .NET MAUI は Xamarin.Forms の進化であり、モバイルからデスクトップのシナリオまで拡張され、UI コントロールはパフォーマンスと拡張性のために一から再構築されます。 Xamarin.Forms を使用してクロスプラットフォーム ユーザー インターフェイスを構築したことがある場合は、.NET MAUI と多くの類似点があります。 ただし、いくつかの違いもあります。 .NET MAUI を使用すると、1 つのプロジェクトを使用してマルチプラットフォーム アプリを作成できますが、必要に応じてプラットフォーム固有のソース コードとリソースを追加できます。 .NET MAUI の主な目的の 1 つは、1 つのコード ベースでできるだけ多くのアプリ ロジックと UI レイアウトを実装できるようにすることです。

作業を開始するには、Visual Studio をインストールし、インストーラーで .NET マルチプラットフォーム アプリ UI 開発 オプションを選択します。 Visual Studio が既にインストールされている場合は、Visual Studio インストーラー を再実行し、同じ .NET マルチプラットフォーム アプリ UI 開発 オプションを選択します。 完了すると、プロジェクト テンプレートが [新しいプロジェクト ] ダイアログ ボックスに表示されます。 .NET MAUI テンプレートを見つける最も簡単な方法は、単に "MAUI" を検索することです。 .NET MAUI のインストールと最初のアプリのビルドの詳細については、「インストール」を参照し、最初のアプリ をビルドするを参照してください。

.NET MAUI は、Android、iOS、Mac Catalyst、および Windows のネイティブ機能を .NET クラスおよびメソッドとして公開します。 アプリはネイティブ API とネイティブ コントロールにフル アクセスでき、ネイティブ プラットフォーム言語で記述されたアプリと同じくらい応答性が高くなります。

プロジェクトを作成したら、Visual Studio のすべての生産性機能を使用します。 たとえば、IntelliSense を使用してモバイル プラットフォームのネイティブ API を探索し、ホット リロードを使用してアプリの実行中にマネージド ソース コードを変更します。手動で一時停止またはブレークポイントにヒットする必要はありません。 アプリを実行して外観を確認する準備ができたら、Android SDK エミュレーターを使用して Windows アプリをネイティブに実行できます。 テザリングされた Android デバイスと Windows デバイスを直接使用することもできます。 iOS プロジェクトの場合は、ネットワーク接続された Mac に接続し、Visual Studio から iOS エミュレーターを起動するか、テザリングされたデバイスに接続します。

.NET MAUI アプリは、ネイティブ アプリ パッケージにコンパイルされます。

  • .NET MAUI を使用して構築された Android アプリは、C# から中間言語 (IL) にコンパイルされ、アプリの起動時に Just-In-Time (JIT) がネイティブ アセンブリにコンパイルされます。
  • .NET MAUI を使用して構築された iOS アプリは、C# からネイティブ ARM アセンブリ コードに完全に先行コンパイル (AOT) されます。
  • .NET MAUI を使用して構築された macOS アプリでは、Mac Catalyst を使用します。これは、UIKit で構築された iOS アプリをデスクトップに取り込み、必要に応じて追加の AppKit とプラットフォーム API で拡張する Apple のソリューションです。
  • .NET MAUI を使用して構築された Windows アプリでは、Windows UI 3 (WinUI 3) ライブラリを使用して、Windows デスクトップを対象とするネイティブ アプリを作成します。

.NET MAUI の詳細については、「.NET MAUI とは」を参照してください。.

ターゲット Windows 10 デバイス

さまざまな種類の Windows デバイスのスクリーンショット。

Windows 10 デバイス全体を対象とする単一のアプリを作成する場合は、ユニバーサル Windows アプリを作成します。 1 つのプロジェクトを使用してアプリを設計します。表示に使用されているデバイスに関係なく、ページが適切にレンダリングされます。

ユニバーサル Windows プラットフォーム (UWP) アプリ プロジェクト テンプレートから始めます。 ページを視覚的にデザインし、プレビュー ウィンドウで開いて、さまざまな種類のデバイスに対してページがどのように表示されるかを確認します。 デバイスにページがどのように表示されるかが気に入らない場合は、画面サイズ、解像度、または横向きや縦向きモードなどのさまざまな向きに合わせてページを最適化できます。 そのすべてを行うには、直感的なツール ウィンドウを使用し、Visual Studio で簡単にアクセスできるメニュー オプションを使用します。 アプリを実行してコードをステップ実行する準備ができたら、Standard ツール バーにある 1 つのドロップダウン リストに、さまざまな種類のデバイスのすべてのデバイス エミュレーターとシミュレーターがまとめて表示されます。

詳細情報
ユニバーサル Windows プラットフォーム の入門
初めてのアプリ を作成する
ユニバーサル Windows プラットフォーム (UWP) 用のアプリを開発する

Android、iOS、Windows 用のアプリをビルドする (C++)

C+ の使用を示すスクリーンショット。+Android、iOS、および Windows 用にビルドします。

まず、Visual Studio と C++ ワークロードを使用した Mobile Development をインストールします。 その後、Android 用のネイティブ アクティビティ アプリケーション、または Windows または iOS を対象とするアプリを構築できます。 必要に応じて、Android、iOS、Windows を同じソリューションでターゲットにし、クロスプラットフォームの静的または動的な共有ライブラリを使用してそれらの間でコードを共有できます。

ゲームなどの高度なグラフィックス操作を必要とする Android 用アプリを構築する必要がある場合は、C++ を使用して実行できます。 Native Activity Application (Android) プロジェクトから開始します。 このプロジェクトでは、Clang ツールチェーンが完全にサポートされています。

ネイティブ アクティビティ プロジェクト テンプレートを示すスクリーンショット。

アプリを実行して外観を確認する準備ができたら、Android エミュレーターを使用します。 高速で信頼性が高く、インストールと構成が簡単です。

また、C++ とユニバーサル Windows プラットフォーム (UWP) アプリ プロジェクト テンプレートを使用して、Windows 10 デバイスの全幅を対象とするアプリを構築することもできます。 詳細については、この記事で前述した「ターゲット Windows 10 デバイス」セクションを参照してください。

静的または動的な共有ライブラリを作成することで、Android、iOS、Windows の間で C++ コードを共有できます。

静的共有ライブラリと動的共有ライブラリを示すスクリーンショット。

この記事で前述したように、Windows、iOS、または Android プロジェクトでそのライブラリを使用できます。 また、.NET MAUI、Java、またはアンマネージド DLL で関数を呼び出すことができる任意の言語を使用して、ビルドしたアプリで使用することもできます。

これらのライブラリでコードを記述するときに、IntelliSense を使用して Android および Windows プラットフォームのネイティブ API を調べることができます。 これらのライブラリ プロジェクトは Visual Studio デバッガーと完全に統合されているため、ブレークポイントを設定できます。 コードをステップ実行し、デバッガーのすべての高度な機能を使用して問題を見つけて修正します。

詳細情報
Visual Studio のダウンロード (VisualStudio.com)
C++ を使用したクロスプラットフォーム モバイル開発のインストール
C++ を使用して複数のプラットフォーム をターゲットにする の詳細を確認する (VisualStudio.com)
必要なものをインストールし、Android 用の C++ ネイティブ アクティビティ アプリケーションを作成します
Android および Windows アプリ と C++ コードを共有する の詳細を確認する (VisualStudio.com)
C++ におけるクロスプラットフォームモバイル開発の事例

Visual Studio Tools for Unity を使用して Android、iOS、Windows 用のクロスプラットフォーム ゲームを構築する

Visual Studio Tools for Unity (VSTU) は、Visual Studio の強力なコード編集、生産性、デバッグ ツールを、Unity、Windows、iOS、Android、その他のプラットフォーム (Web を含む) を対象とするイマーシブ アプリ用の一般的なクロスプラットフォーム ゲーム/グラフィックス エンジンおよび開発環境と統合する Visual Studio 用の無料拡張機能です。

Visual Studio Tools for Unity と開発環境の概要を示すスクリーンショット。

Visual Studio Tools for Unity (VSTU) を使用すると、Visual Studio を使用して C# でゲームスクリプトとエディター スクリプトを記述し、その強力なデバッガーを使用してエラーを見つけて修正できます。 VSTU の最新リリースでは、Unity 2019.4 がサポートされ、Unity の ShaderLab シェーダー言語の構文の色分け、Unity との同期の向上、デバッグの充実、MonoBehavior ウィザードのコード生成の改善が含まれています。 VSTU では、Unity プロジェクト ファイル、コンソール メッセージ、ゲームを Visual Studio に開始する機能も用意されているため、コードの記述中に Unity エディターとの間の切り替えに費やす時間を短縮できます。

詳細情報
Visual Studio を使用して Unity ゲームをビルドする の詳細を確認する
Visual Studio Tools for Unity の詳細を確認する
Visual Studio Tools for Unity の使用を開始する
Visual Studio Tools for Unity 2.0 Preview の最新の機能強化について読む (Visual Studio ブログ)
Visual Studio Tools for Unity 2.0 Preview の概要ビデオをご覧ください (ビデオ)
Unity について学習する (Unity Web サイト)