Visual Studio におけるクロス プラットフォーム モバイル開発

Android、iOS、および Windows デバイス用のアプリを Visual Studio を使用して作成することができます。 アプリを設計する過程で Visual Studio のツールを利用すると、Office 365、Azure App Services、Application Insights などの接続済みサービスを簡単に追加できます。

アプリを作成するには、C# と .NET Framework、HTML と JavaScript、または C++ を使用します。 コード、文字列、イメージを共有できるほか、場合によってはユーザー インターフェイスも共有できます。

ゲームまたは没入感のあるグラフィカル アプリを作成する場合は、Visual Studio Tools for Unity をインストールすれば、Visual Studio と Unity の強力な生産性機能をすべて活用できます。Unity は、iOS、Android、Windows、およびその他のプラットフォームで実行するアプリ用のクロスプラットフォームのゲーム/グラフィックス エンジンおよび開発環境として人気を博しています。

この記事の内容:

Android、iOS、および Windows 用のアプリをビルドする (.NET Framework)

デバイス

Xamarin を利用すれば、コードや UI を共有し、同じソリューションで Android、iOS、Windows を対象にできます。

詳細を表示
Visual Studio のインストール (VisualStudio.com)
Visual Studio での Xamarin について学習する (VisualStudio.com)
Visual Studio と Xamarin (MSDN ライブラリ)
Xamarin アプリを使用したアプリケーション ライフサイクル管理 (ALM) (MSDN ライブラリ)
Visual Studio でのユニバーサル Windows アプリについて学習する (VisualStudio.com)
Swift と C# との間の類似点について学習する (download.microsoft.com)
Visual Studio Emulator for Android について学習する (VisualStudio.com)

1 つのコード ベースから Android、iOS、Windows を対象にする

C# または F# を使用することで (Visual Basic は現時点ではサポートされていません)、Android、iOS、Windows のネイティブ アプリを開発できます。 最初に Visual Studio 2015 をインストールし、インストーラーで [カスタム] オプションを選択し、[クロス プラットフォームのモバイル開発] の [C#/.NET (Xamarin)] ボックスを選択します。 Xamarin インストーラーで開始することもできます。このインストーラーは Xamarin for Visual Studio 2013 のインストールに必須です。

Visual Studio 2015 が既にインストールされている場合、[コントロール パネル] の [プログラムと機能] からインストーラーを実行し、上と同じように Xamarin に [カスタム] オプションを選択します。

完了すると、プロジェクト テンプレートが [新しいプロジェクト] ダイアログ ボックスに表示されます。 Xamarin テンプレートを見つける最も簡単な方法は、"Xamarin" で検索することです。

Xamarin は Android、iOS、Windows のネイティブ機能を .NET オブジェクトとして表示します。 そのため、アプリにはネイティブ API とネイティブ ユーザー コントロールのフル アクセスが与えられます。ネイティブ プラットフォーム言語で記述されたアプリと同様の応答性を持ちます。

プロジェクトを作成した後は、生産性を高める Visual Studio の機能をすべて活用できます。 たとえば、デザイナーを使用してページを作成し、IntelliSense を使用してモバイル プラットフォームのネイティブ API を探索できます。 アプリケーションを実行して結果を確認する準備ができたら、Visual Studio Emulator for Android、または Android エミュレーターを使用したり、Windows アプリをネイティブ実行したり、Windows Phone エミュレーターで Windows アプリを実行したりできます。 テザリングされた Android デバイスや Windows デバイスを直接使用することもできます。 iOS プロジェクトでは、Mac のネットワークに接続し、Visual Studio から Mac エミュレーターを起動したり、テザリングされたデバイスに接続したりできます。

すべてのデバイス用にレンダリングするページを 1 セット、Xamarin.Forms を使用してデザインする

アプリのデザインの複雑さによっては、プロジェクト テンプレートの [ Mobile Apps ] グループにある [ Xamarin.Forms ] テンプレートを使用して作成することを検討します。 Xamarin.Forms は、Android、iOS、Windows 間で共有できる単一のユーザー インターフェイスを作成する UI ツールキットです。 Xamarin.Forms ソリューションをコンパイルすると、Android アプリ、iOS アプリ、Windows アプリが生成されます。 詳細については、「Xamarin によるモバイル開発の概要」を参照してください。

Android、iOS、および Windows アプリ間でコードを共有する

Xamarin.Forms を使用せず、プラットフォームごとに個別にデザインすることにした場合は、UI 以外のコードの大部分をプラットフォームのプロジェクト (Android、iOS、および Windows) 間で共有できます。 これには、ビジネス ロジック、クラウド統合、データベース アクセス、または .NET Framework を対象とするその他のコードが含まれます。 特定のプラットフォームを対象とするコードのみ、共有することができません。

Windows、iOS、Android の UI でコードを共有

共有プロジェクト、ポータブル クラス ライブラリ プロジェクト、またはその両方を使用して、コードを共有できます。 共有プロジェクトに最適なコードもあれば、ポータブル クラス ライブラリ プロジェクトにより適したコードもあります。

詳細を表示
共有プロジェクト、ポータブル クラス ライブラリ プロジェクト、またはその両方のいずれを使用してコードを共有するかを選択する。

プラットフォーム間でコードを共有する (.NET Framework ブログ)

コード共有のオプション (Xamarin)

.NET Framework によるコード共有のオプション (MSDN ライブラリ)

Windows 10 デバイスを対象にする

Windows デバイス

Windows 10 デバイスを幅広く対象とした単一のアプリを作成する必要がある場合は、ユニバーサル Windows アプリを作成します。 1 つのプロジェクトを使用してアプリをデザインすれば、どのデバイスを使用して表示してもアプリのページが正しくレンダリングされます。

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

Windows 10 はまだ新しいため、Windows 8.1 を対象にしたプロジェクト テンプレートも用意されています。 アプリを Windows 10 のスマートフォン、タブレット、および PC で実行する場合、必要であればこれらのプロジェクト テンプレートを使用できます。 ただし、Windows 8.1 を実行しているすべてのデバイスは Windows 10 への自動アップグレードが実行されるため、Windows 8.1 をターゲットにする特定の理由がない限り、Windows 10 を対象とするプロジェクト テンプレートを使用することをお勧めします。

詳細を表示
ユニバーサル Windows アプリについて学習する (Windows デベロッパー センター)
初めてのアプリをビルドする (Windows デベロッパー センター)
ユニバーサル Windows プラットフォーム (UWP) 向けアプリの開発
アプリを Universal Windows Platform (UWP) へ移行する

Android、iOS、および Windows 用のアプリをビルドする (HTML/JavaScript)

デバイス

HTML と JavaScript に精通した Web 開発者は、Visual Studio Tools for Apache Cordova を使用して、Windows、Android、および iOS を対象とすることができます。 これらのアプリは 3 つのすべてのプラットフォームを対象にすることができ、開発者が最も慣れているスキルとプロセスを使用してアプリを作成できます。

Apache Cordova は、プラグイン モデルを含むフレームワークです。 このプラグイン モデルは、3 つのすべてのプラットフォーム (Android、iOS、Windows) のネイティブ デバイス機能にアクセスするために使用できる単一の JavaScript API を提供します。

これらの API はクロスプラットフォームであるため、記述するコードの大部分を 3 つのすべてのプラットフォーム間で共有できます。 このため、開発と保守のコストを削減できます。 また、ゼロから始める必要がありません。 他の種類の Web アプリケーションを既に作成してある場合は、Cordova アプリでそれらのファイルを共有できるため、修正や再設計の必要はありません。

マルチデバイス ハイブリッド アプリ

作業を開始するには、Visual Studio 2015 をインストールして、セットアップ中に HTML/JavaScript (Apache Cordova) 機能を選択します。 Visual Studio 2013 を使用している場合は、Visual Studio Tools for Apache Cordova の拡張機能をインストールしてください。 いずれにしても、Cordova ツールにより、マルチプラットフォーム アプリをビルドするために必要なすべてのサード パーティのソフトウェアが自動的にインストールされます。

拡張機能をインストールした後、Visual Studio を開き、[空のアプリケーション (Apache Cordova)] プロジェクトを作成します。 その後、JavaScript または TypeScript を使用してアプリを開発できます。 また、プラグインを追加してアプリの機能を拡張することもでき、プラグインの API はコードを記述するときに IntelliSense に表示されます。

アプリを実行してコードをデバッグする準備ができたら、エミュレーターとして、Apache Ripple エミュレーターや Visual Studio Emulator (Android または Windows Phone)、ブラウザー、またはコンピューターに直接接続したデバイスなどを選択します。 その後、アプリを起動します。 Windows PC でアプリを開発している場合は、この上さらにそのアプリを実行することもできます。 これらのオプションすべては、Visual Studio Tools for Apache Cordova の一部として Visual Studio に組み込まれます。

ユニバーサル Windows アプリを作成するためのプロジェクト テンプレートは、Visual Studio でまだ使用できるので、Windows デバイスだけを対象にする場合は、自由に使用してください。 後で Android および iOS を対象にすることを決定した場合は、いつでも Cordova プロジェクトにコードを移植できます。 WinJS API のオープン ソース バージョンがあるため、それらの API を使用するすべてのコードを再利用することができます。 つまり、将来他のプラットフォームを対象にすることを決定した場合、Visual Studio Tools for Apache Cordova から始めることをお勧めします。

詳細を表示
Visual Studio のインストール (VisualStudio.com)
Visual Studio Tools for Apache Cordova の使用を開始する (docs.microsoft.com)
Visual Studio Emulator for Android について学習する (VisualStudio.com)

Android および Windows 用のアプリをビルドする (C++)

C++ を使用し、Android、iOS、Windows 向けに開発する

最初に、Visual Studio 2015 と Visual C++ for Cross Platform Mobile Development ツールをインストールします。 その後、Android 用のネイティブ アクティビティ アプリケーションか、Windows を対象とするアプリを構築できます。 iOS を対象とする C++ テンプレートは、まだ利用できません。 必要であれば、同じソリューションで Android と Windows を対象にし、クロスプラットフォームの静的または動的な共有ライブラリを使用して両方でコードを共有することができます。

ゲームなどの高度なグラフィックス操作を必要とする Android アプリをビルドする必要がある場合に、C++ を利用できます。 [ネイティブ アクティビティ アプリケーション (Android)] プロジェクトから開始できます。 このプロジェクトでは、C 言語のツール チェーンが完全にサポートされます。

ネイティブ アクティビティ プロジェクトのテンプレート

アプリケーションを実行して結果を確認する準備ができたら、Visual Studio Emulator for Android を使用できます。 高速で信頼性が高く、簡単にインストールして構成できます。

C++ とユニバーサル Windows アプリ プロジェクト テンプレートを使用すると、幅広い Windows 10 デバイスを対象とするアプリケーションを作成することもできます。 この点については、このトピックで前に説明した「Windows 10 デバイスを対象にする」セクションをお読みください。

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

静的および動的な共有ライブラリ

このセクションで既に説明したものと同様に、Windows または Android のプロジェクトでそのライブラリを使用することができます。 また、Xamarin、Java、またはアンマネージ DLL 内の関数を呼び出すことのできる任意の言語を使用してビルドするアプリで、そのライブラリを利用できます。

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

詳細を表示
Visual Studio のダウンロード (VisualStudio.com)
Visual C++ for Cross-Platform Mobile Development ツールのインストール (MSDN ライブラリ)
C++ を使用して複数のプラットフォームを対象とすることについて学習する (VisualStudio.com)
必要なものをインストールしてから、Android 用のネイティブ アクティビティ アプリケーションを作成する (MSDN ライブラリ)
Visual Studio Emulator for Android について学習する (VisualStudio.com)
Android と Windows アプリでの C++ コードの共有について学習する (VisualStudio.com)
C++ のクロス プラットフォーム モバイル開発の例 (MSDN ライブラリ)
C++ のクロス プラットフォーム モバイル開発のその他の例 (code.msdn)

Android、iOS、および Windows 用のクロスプラットフォーム ゲームを Visual Studio Tools for Unity を使用してビルドする

Visual Studio Tools for Unity は、Visual Studio の強力なコード編集、生産性向上、およびデバッグ ツールを、Windows、iOS、Android、および Web を含むその他のプラットフォームを対象とするクロスプラットフォームのゲーム/グラフィックス エンジンおよび没入感のあるアプリ開発環境として人気の高い Unity と統合するための Visual Studio 用の無料の拡張機能です。

VSTU 開発環境

Visual Studio tools Unity (VSTU) を利用すると、Visual Studio を使用して C# でゲームとエディター スクリプトを記述した後、強力なデバッガーを使用してエラーを検出して修正できます。 VSTU の最新リリースでは、Unity 5 のサポートが提供され、Unity の ShaderLab シェーダー言語の構文の色分け、Unity との同期機能の向上、デバッグの機能向上、および、MonoBehavior ウィザードによるコード生成の機能強化などがなされました。 また、VSTU により、Unity のプロジェクト ファイル、コンソール メッセージ、およびゲームを開始する機能が Visual Studio に統合されるため、コードの記述中に Unity エディターとの間で切り替える手間を少なくできます。

Unity と Visual Studio Tools for Unity を使用したゲームの構築を、今すぐに開始できます。

詳細を表示
Visual Studio での Unity ゲーム構築について学習する
Visual Studio Tools for Unity の詳細について (MSDN ライブラリ)
Visual Studio Tools for Unity の使用を開始する (MSDN ライブラリ)
Visual Studio Tools for Unity 2.0 Preview の最新の拡張機能について学習する (Visual Studio ブログ)
Visual Studio Tools for Unity 2.0 Preview の紹介ビデオを見る (ビデオ)
Unity について学習する (Unity Web サイト)

関連項目