Visual Studio におけるクロス プラットフォーム モバイル開発Cross-Platform Mobile Development in Visual Studio

Android、iOS、および Windows デバイス用のアプリを Visual Studio を使用して作成することができます。You can build apps for Android, iOS, and Windows devices by using Visual Studio. アプリを設計する過程で Visual Studio のツールを利用すると、Office 365、Azure App Services、Application Insights などの接続済みサービスを簡単に追加できます。As you design your app, use tools in Visual Studio to easily add connected services such as Office 365, Azure App Service, and Application Insights.

アプリを作成するには、C# と .NET Framework、HTML と JavaScript、または C++ を使用します。Build your apps by using C# and the .NET Framework, HTML and JavaScript, or C++. コード、文字列、イメージを共有できるほか、場合によってはユーザー インターフェイスも共有できます。Share code, strings, images, and in some cases even the user interface.

ゲームまたは没入感のあるグラフィカル アプリを作成する場合は、Visual Studio Tools for Unity をインストールすれば、Visual Studio と Unity の強力な生産性機能をすべて活用できます。Unity は、iOS、Android、Windows、およびその他のプラットフォームで実行するアプリ用のクロスプラットフォームのゲーム/グラフィックス エンジンおよび開発環境として人気を博しています。If you want to build a game or immersive graphical app, install Visual Studio tools for Unity and enjoy all of the powerful productivity features of Visual Studio with Unity, the popular cross-platform game/graphics engine and development environment for apps that run on iOS, Android, Windows, and other platforms.

この記事の内容:In this article:

Android、iOS、および Windows 用のアプリをビルドする (.NET Framework)Build an app for Android, iOS, and Windows (.NET Framework)

デバイスDevices

Xamarin を利用すれば、コードや UI を共有し、同じソリューションで Android、iOS、Windows を対象にできます。With Xamarin, you can target Android, iOS, and Windows in the same solution, sharing code and even UI.

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

1 つのコード ベースから Android、iOS、Windows を対象にするTarget Android, iOS, and Windows from a single code base

C# または F# を使用することで (Visual Basic は現時点ではサポートされていません)、Android、iOS、Windows のネイティブ アプリを開発できます。You can build native apps for Android, iOS, and Windows by using C# or F# (Visual Basic is not supported at this time). 最初に Visual Studio 2015 をインストールし、インストーラーで [カスタム] オプションを選択し、[クロス プラットフォームのモバイル開発] の [C#/.NET (Xamarin)] ボックスを選択します。To get started, install Visual Studio 2015, select the Custom option in the installer, and check the box under Cross Platform Mobile Development > C#/.NET (Xamarin). Xamarin インストーラーで開始することもできます。このインストーラーは Xamarin for Visual Studio 2013 のインストールに必須です。You can also start with the Xamarin Installer, which is required to install Xamarin for Visual Studio 2013.

Visual Studio 2015 が既にインストールされている場合、[コントロール パネル] の [プログラムと機能] からインストーラーを実行し、上と同じように Xamarin に [カスタム] オプションを選択します。If you already have Visual Studio 2015 installed, run the installer from Control Panel > Programs and Features and select the same Custom option for Xamarin as above.

完了すると、プロジェクト テンプレートが [新しいプロジェクト] ダイアログ ボックスに表示されます。When you're done, project templates appear in the New Project dialog box. Xamarin テンプレートを見つける最も簡単な方法は、"Xamarin" で検索することです。The easiest way to find Xamarin templates is to just search on "Xamarin."

Xamarin は Android、iOS、Windows のネイティブ機能を .NET オブジェクトとして表示します。Xamarin exposes the native functionality of Android, iOS, and Windows as .NET objects. そのため、アプリにはネイティブ API とネイティブ ユーザー コントロールのフル アクセスが与えられます。ネイティブ プラットフォーム言語で記述されたアプリと同様の応答性を持ちます。Thus your apps have full access to native APIs and native user controls, and they're just as responsive as apps written in the native platform languages.

プロジェクトを作成した後は、生産性を高める Visual Studio の機能をすべて活用できます。After you create a project, you'll leverage all of the productivity features of Visual Studio. たとえば、デザイナーを使用してページを作成し、IntelliSense を使用してモバイル プラットフォームのネイティブ API を探索できます。For example, you'll use a designer to create your pages, and use IntelliSense to explore the native API's of the mobile platforms. アプリケーションを実行して結果を確認する準備ができたら、Visual Studio Emulator for Android、または Android エミュレーターを使用したり、Windows アプリをネイティブ実行したり、Windows Phone エミュレーターで Windows アプリを実行したりできます。When you're ready to run your app and see how it looks, you can use the Visual Studio Emulator for Android or the Android SDK emulator, run Windows apps natively, or run Windows apps on the Windows Phone emulator. テザリングされた Android デバイスや Windows デバイスを直接使用することもできます。You can also use tethered Android and Windows devices directly. iOS プロジェクトでは、Mac のネットワークに接続し、Visual Studio から Mac エミュレーターを起動したり、テザリングされたデバイスに接続したりできます。For iOS projects, connect to a networked Mac and start the Mac emulator from Visual Studio, or connect to a tethered device.

すべてのデバイス用にレンダリングするページを 1 セット、Xamarin.Forms を使用してデザインするDesign one set of pages that render across all devices by using Xamarin.Forms

アプリのデザインの複雑さによっては、プロジェクト テンプレートの [ Mobile Apps ] グループにある [ Xamarin.Forms ] テンプレートを使用して作成することを検討します。Depending on the complexity of your apps design, you might consider building it by using Xamarin.Forms templates in the Mobile Apps group of project templates. Xamarin.Forms は、Android、iOS、Windows 間で共有できる単一のユーザー インターフェイスを作成する UI ツールキットです。Xamarin.Forms is a UI toolkit that lets you create a single interface that you can share across Android, iOS, and Windows. Xamarin.Forms ソリューションをコンパイルすると、Android アプリ、iOS アプリ、Windows アプリが生成されます。When you compile a Xamarin.Forms solution, you'll get an Android app, an iOS app, and a Windows app. 詳細については、「Xamarin によるモバイル開発の概要」を参照してください。For more details, see Learn about mobile development with Xamarin.

Android、iOS、および Windows アプリ間でコードを共有するShare code between Android, iOS, and Windows apps

Xamarin.Forms を使用せず、プラットフォームごとに個別にデザインすることにした場合は、UI 以外のコードの大部分をプラットフォームのプロジェクト (Android、iOS、および Windows) 間で共有できます。If you're not using Xamarin.Forms and choose to design for each platform individually, you can share most of your non-UI code between platform projects (Android, iOS, and Windows). これには、ビジネス ロジック、クラウド統合、データベース アクセス、または .NET Framework を対象とするその他のコードが含まれます。This includes any business logic, cloud integration, database access, or any other code that targets the .NET Framework. 特定のプラットフォームを対象とするコードのみ、共有することができません。The only code that you can't share is code that targets a specific platform.

Windows、iOS、Android の UI でコードを共有Share code between Windows, iOs, and Android UI's

共有プロジェクト、ポータブル クラス ライブラリ プロジェクト、またはその両方を使用して、コードを共有できます。You can share your code by using a shared project, a Portable Class Library project, or both. 共有プロジェクトに最適なコードもあれば、ポータブル クラス ライブラリ プロジェクトにより適したコードもあります。You might find that some code fits best in a shared project, and some code makes more sense inside a Portable Class Library project.

詳細を表示Learn more
共有プロジェクト、ポータブル クラス ライブラリ プロジェクト、またはその両方のいずれを使用してコードを共有するかを選択する。Choose whether to share your code by using shared projects, Portable Class Library projects, or both.

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

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

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

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

Windows デバイスWindows Devices

Windows 10 デバイスを幅広く対象とした単一のアプリを作成する必要がある場合は、ユニバーサル Windows アプリを作成します。If you want to create a single app that targets the full breadth of Windows 10 devices, create a universal Windows app. 1 つのプロジェクトを使用してアプリをデザインすれば、どのデバイスを使用して表示してもアプリのページが正しくレンダリングされます。You'll design the app by using a single project and your pages will render properly no matter what device is used to view them.

ユニバーサル Windows アプリのプロジェクト テンプレートから作業を開始します。Start with a universal Windows app project template. ページを視覚的にデザインした後、それらのページをプレビュー ウィンドウで開くと、さまざまな種類のデバイスでどのように表示されるかを確認できます。Design your pages visually, and then open them in a preview window to see how they appear for various types of devices. デバイスに表示されるページが気に入らない場合は、画面サイズ、解像度、あるいは縦モードまたは横モードなどのさまざまな向きに合わせて、ページを最適化できます。If you don't like how a page appears on a device, you can optimize the page to better fit the screen size, resolution, or various orientations such as landscape or portrait mode. このような操作すべてを、Visual Studio の直感的なツール ウィンドウと簡単にアクセスできるメニュー オプションを使用して実行できます。You can do all of that by using intuitive tool windows and easily accessible menu options in Visual Studio. アプリを実行してコードをデバッグする準備ができたら、さまざまな種類のデバイスのデバイス エミュレーターやシミュレーターのすべてが、[標準] ツールバーの 1 つのドロップダウン リストにまとめられています。When you're ready to run your app and step through your code, you'll find all of the device emulators and simulators for different types of devices together in one drop-down list that is located on the Standard toolbar.

Windows 10 はまだ新しいため、Windows 8.1 を対象にしたプロジェクト テンプレートも用意されています。Windows 10 is fairly new, so you'll also find project templates that target Windows 8.1. アプリを Windows 10 のスマートフォン、タブレット、および PC で実行する場合、必要であればこれらのプロジェクト テンプレートを使用できます。You can use those project templates if you want and your app will run on Windows 10 phones, tablets, and PCs. ただし、Windows 8.1 を実行しているすべてのデバイスは Windows 10 への自動アップグレードが実行されるため、Windows 8.1 をターゲットにする特定の理由がない限り、Windows 10 を対象とするプロジェクト テンプレートを使用することをお勧めします。However, all devices that run Windows 8.1 will receive an automatic upgrade to Windows 10, so unless you have specific reasons why you'd rather target Windows 8.1, we recommend that you use the project templates that target Windows 10.

詳細を表示Learn more
ユニバーサル Windows アプリについて学習する (Windows デベロッパー センター)Learn about universal Windows apps (Windows Dev Center)
初めてのアプリをビルドする (Windows デベロッパー センター)Build your first one (Windows Dev Center)
ユニバーサル Windows プラットフォーム (UWP) 向けアプリの開発Develop apps for the Universal Windows Platform (UWP)
アプリを Universal Windows Platform (UWP) へ移行するMigrate apps to the Universal Windows Platform (UWP)

Android、iOS、および Windows 用のアプリをビルドする (HTML/JavaScript)Build an app for Android, iOS, and Windows (HTML/JavaScript)

デバイスDevices

HTML と JavaScript に精通した Web 開発者は、Visual Studio Tools for Apache Cordova を使用して、Windows、Android、および iOS を対象とすることができます。If you're a web developer, and you're familiar with HTML and JavaScript, you can target Windows, Android, and iOS by using Visual Studio Tools for Apache Cordova. これらのアプリは 3 つのすべてのプラットフォームを対象にすることができ、開発者が最も慣れているスキルとプロセスを使用してアプリを作成できます。These apps can target all three platforms and you can build them by using the skills and processes that you're most familiar with.

Apache Cordova は、プラグイン モデルを含むフレームワークです。Apache Cordova is a framework that includes a plug-in model. このプラグイン モデルは、3 つのすべてのプラットフォーム (Android、iOS、Windows) のネイティブ デバイス機能にアクセスするために使用できる単一の JavaScript API を提供します。This plug-in model provides a single JavaScript API that you can use to access the native device capabilities of all three platforms (Android, iOS, and Windows).

これらの API はクロスプラットフォームであるため、記述するコードの大部分を 3 つのすべてのプラットフォーム間で共有できます。Because these APIs are cross-platform, you can share most of what you write between all three platforms. このため、開発と保守のコストを削減できます。This reduces your development and maintenance costs. また、ゼロから始める必要がありません。Also, there's no need to start from scratch. 他の種類の Web アプリケーションを既に作成してある場合は、Cordova アプリでそれらのファイルを共有できるため、修正や再設計の必要はありません。If you've created other types of web applications, you can share those files with your Cordova app without having to modify or redesign them in any way.

マルチデバイス ハイブリッド アプリMulti-Device Hybrid Apps

作業を開始するには、Visual Studio 2015 をインストールして、セットアップ中に HTML/JavaScript (Apache Cordova) 機能を選択します。To get started, install Visual Studio 2015 and choose the HTML/JavaScript (Apache Cordova) feature during setup. Visual Studio 2013 を使用している場合は、Visual Studio Tools for Apache Cordova の拡張機能をインストールしてください。If you're using Visual Studio 2013, install the Visual Studio Tools for Apache Cordova extension. いずれにしても、Cordova ツールにより、マルチプラットフォーム アプリをビルドするために必要なすべてのサード パーティのソフトウェアが自動的にインストールされます。Either way, the Cordova tools automatically install all third-party software that's required to build your multi-platform app.

拡張機能をインストールした後、Visual Studio を開き、[空のアプリケーション (Apache Cordova)] プロジェクトを作成します。After you've installed the extension, open Visual Studio and create a Blank App (Apache Cordova) project. その後、JavaScript または TypeScript を使用してアプリを開発できます。Then, you can develop your app by using JavaScript or Typescript. また、プラグインを追加してアプリの機能を拡張することもでき、プラグインの API はコードを記述するときに IntelliSense に表示されます。You can also add plug-ins to extend the functionality of your app, and APIs from plug-ins appear in IntelliSense as you write code.

アプリを実行してコードをデバッグする準備ができたら、エミュレーターとして、Apache Ripple エミュレーターや Visual Studio Emulator (Android または Windows Phone)、ブラウザー、またはコンピューターに直接接続したデバイスなどを選択します。When you're ready to run your app and step through your code, choose an emulator, such as the Apache Ripple emulator or Visual Studio Emulator (Android or Windows Phone), a browser, or a device that you've connected directly to your computer. その後、アプリを起動します。Then, start your app. Windows PC でアプリを開発している場合は、この上さらにそのアプリを実行することもできます。If you're developing your app on a Windows PC, you can even run it on that. これらのオプションすべては、Visual Studio Tools for Apache Cordova の一部として Visual Studio に組み込まれます。All of these options are built into Visual Studio as part of the Visual Studio Tools for Apache Cordova.

ユニバーサル Windows アプリを作成するためのプロジェクト テンプレートは、Visual Studio でまだ使用できるので、Windows デバイスだけを対象にする場合は、自由に使用してください。Project templates for creating universal Windows apps are still available in Visual Studio so feel free to use them if you plan to target only Windows devices. 後で Android および iOS を対象にすることを決定した場合は、いつでも Cordova プロジェクトにコードを移植できます。If you decide to target Android and iOS later, you can always port your code to a Cordova project. WinJS API のオープン ソース バージョンがあるため、それらの API を使用するすべてのコードを再利用することができます。There are open-source versions of the WinJS APIs, so you can reuse any code that consumes those APIs. つまり、将来他のプラットフォームを対象にすることを決定した場合、Visual Studio Tools for Apache Cordova から始めることをお勧めします。That said, if you plan to target other platforms in the future, we recommend that you start with the Visual Studio Tools for Apache Cordova.

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

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

C++ を使用し、Android、iOS、Windows 向けに開発するUse C++ to build for Android, iOS, and Windows

最初に、Visual Studio 2015 と Visual C++ for Cross Platform Mobile Development ツールをインストールします。First, install Visual Studio 2015 and the Visual C++ for Cross Platform Mobile Development tools. その後、Android 用のネイティブ アクティビティ アプリケーションか、Windows を対象とするアプリを構築できます。Then, you can build a native activity application for Android or an app that targets Windows. iOS を対象とする C++ テンプレートは、まだ利用できません。C++ templates that target iOS are not yet available. 必要であれば、同じソリューションで Android と Windows を対象にし、クロスプラットフォームの静的または動的な共有ライブラリを使用して両方でコードを共有することができます。You can target Android and Windows in the same solution if you want, and then share code between them by using a cross-platform static or dynamic shared library.

ゲームなどの高度なグラフィックス操作を必要とする Android アプリをビルドする必要がある場合に、C++ を利用できます。If you need to build an app for Android that requires any sort of advanced graphics manipulation, such as a game, you can use C++ to do it. [ネイティブ アクティビティ アプリケーション (Android)] プロジェクトから開始できます。Start with the Native-Activity Application (Android) project. このプロジェクトでは、C 言語のツール チェーンが完全にサポートされます。This project has full support for the Clang toolchain.

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

アプリケーションを実行して結果を確認する準備ができたら、Visual Studio Emulator for Android を使用できます。When you're ready to run your app and see how it looks, use the Visual Studio Emulator for Android. 高速で信頼性が高く、簡単にインストールして構成できます。It's fast, reliable, and easy to install and configure.

C++ とユニバーサル Windows アプリ プロジェクト テンプレートを使用すると、幅広い Windows 10 デバイスを対象とするアプリケーションを作成することもできます。You can also build an app that targets the full breadth of Windows 10 devices by using C++ and a universal Windows app project template. この点については、このトピックで前に説明した「Windows 10 デバイスを対象にする」セクションをお読みください。Read more about this in the Target Windows 10 devices section that appears earlier in this topic.

静的または動的な共有ライブラリを作成して、Android および Windows 間で C++ コードを共有することができます。You can share C++ code between Android and Windows by creating a static or dynamic shared library.

静的および動的な共有ライブラリStatic and dynamic shared libraries

このセクションで既に説明したものと同様に、Windows または Android のプロジェクトでそのライブラリを使用することができます。You can consume that library in a Windows or Android project, like the ones described earlier in this section. また、Xamarin、Java、またはアンマネージ DLL 内の関数を呼び出すことのできる任意の言語を使用してビルドするアプリで、そのライブラリを利用できます。You can also consume it in an app that you build by using Xamarin, Java, or any language that lets you invoke functions in an unmanaged DLL.

これらのライブラリでコードを記述するときは、IntelliSense を使用して Android プラットフォームと Windows プラットフォームのネイティブ API を探索できます。As you write code in these libraries, you can use IntelliSense to explore the native APIs of the Android and Windows platforms. これらのライブラリ プロジェクトは Visual Studio デバッガーと完全に統合されるため、デバッガーの高度な機能をすべて活用して、ブレークポイントの設定、コードのステップ実行、問題点の検索と修正を行うことができます。These library projects are fully integrated with the Visual Studio debugger so you can set breakpoints, step through code, and find and fix issues by using all of the advanced features of the debugger.

詳細を表示Learn more
Visual Studio のダウンロードDownload Visual Studio. (VisualStudio.com)(VisualStudio.com)
Visual C++ for Cross-Platform Mobile Development ツールのインストールInstall the Visual C++ for Cross-Platform Mobile Development tools. (MSDN ライブラリ)(MSDN Library)
C++ を使用して複数のプラットフォームを対象とすることについて学習するLearn more about using C++ to target multiple platforms. (VisualStudio.com)(VisualStudio.com)
必要なものをインストールしてから、Android 用のネイティブ アクティビティ アプリケーションを作成する (MSDN ライブラリ)Install what you need, and then create a native activity application for Android (MSDN Library)
Visual Studio Emulator for Android について学習する (VisualStudio.com)Learn about the Visual Studio Emulator for Android (VisualStudio.com)
Android と Windows アプリでの C++ コードの共有について学習する (VisualStudio.com)Learn more about sharing C++ code with Android and Windows apps (VisualStudio.com)
C++ のクロス プラットフォーム モバイル開発の例 (MSDN ライブラリ)Cross-platform mobile development examples for C++ (MSDN Library)
C++ のクロス プラットフォーム モバイル開発のその他の例 (code.msdn)Additional cross-platform mobile development examples for C++ (code.msdn)

Android、iOS、および Windows 用のクロスプラットフォーム ゲームを Visual Studio Tools for Unity を使用してビルドするBuild a cross-platform game for Android, iOS, and Windows by using Visual Studio tools for Unity

Visual Studio Tools for Unity は、Visual Studio の強力なコード編集、生産性向上、およびデバッグ ツールを、Windows、iOS、Android、および Web を含むその他のプラットフォームを対象とするクロスプラットフォームのゲーム/グラフィックス エンジンおよび没入感のあるアプリ開発環境として人気の高い Unity と統合するための Visual Studio 用の無料の拡張機能です。Visual Studio Tools for Unity is a free extension for Visual Studio that integrates Visual Studio's powerful code editing, productivity, and debugging tools with Unity, the popular cross-platform gaming/graphics engine and development environment for immersive apps that target Windows, iOS, Android, and other platforms including the web.

VSTU 開発環境VSTU development environment

Visual Studio tools Unity (VSTU) を利用すると、Visual Studio を使用して C# でゲームとエディター スクリプトを記述した後、強力なデバッガーを使用してエラーを検出して修正できます。With Visual Studio Tools for Unity (VSTU), you can use Visual Studio to write game and editor scripts in C# and then use its powerful debugger to find and fix errors. VSTU の最新リリースでは、Unity 5 のサポートが提供され、Unity の ShaderLab シェーダー言語の構文の色分け、Unity との同期機能の向上、デバッグの機能向上、および、MonoBehavior ウィザードによるコード生成の機能強化などがなされました。The latest release of VSTU brings support for Unity 5 and includes syntax coloring for Unity's ShaderLab shader language, better synchronization with Unity, richer debugging, and improved code generation for the MonoBehavior wizard. また、VSTU により、Unity のプロジェクト ファイル、コンソール メッセージ、およびゲームを開始する機能が Visual Studio に統合されるため、コードの記述中に Unity エディターとの間で切り替える手間を少なくできます。VSTU also brings your Unity project files, console messages, and the ability to start your game into Visual Studio so you can spend less time switching to and from the Unity Editor while writing code.

Unity と Visual Studio Tools for Unity を使用したゲームの構築を、今すぐに開始できます。Start building your game with Unity and Visual Studio Tools for Unity today.

詳細を表示Learn more
Visual Studio での Unity ゲーム構築について学習するLearn more about building Unity games with Visual Studio
Visual Studio Tools for Unity の詳細について (MSDN ライブラリ)Read more about Visual Studio Tools for Unity (MSDN Library)
Visual Studio Tools for Unity の使用を開始する (MSDN ライブラリ)Start using Visual Studio Tools for Unity (MSDN Library)
Visual Studio Tools for Unity 2.0 Preview の最新の拡張機能について学習する (Visual Studio ブログ)Read about the latest enhancements to the Visual Studio Tools for Unity 2.0 Preview (Visual Studio blog)
Visual Studio Tools for Unity 2.0 Preview の紹介ビデオを見る (ビデオ)Watch a video introduction to the Visual Studio Tools for Unity 2.0 Preview (Video)
Unity について学習する (Unity Web サイト)Learn about Unity (Unity website)

関連項目See Also