Visual C++ for Cross-Platform Mobile DevelopmentVisual C++ for Cross-Platform Mobile Development

Visual C++ for Cross-Platform Mobile Development を使用することによって、iOS、Android、および Windows デバイス対応のネイティブ C++ アプリをビルドし、iOS、Android、および Windows 用に作成されたライブラリ内で共通コードを共有できます。You can build native C++ apps for iOS, Android and Windows devices, and share common code in libraries built for iOS, Android, and Windows, by using Visual C++ for Cross-Platform Mobile Development. これは、Visual Studio 2015 で使用できるオプションです。このオプションを選択すると、共有ライブラリとネイティブ アプリのクロスプラットフォーム開発に必要な SDK とツールがインストールされます。This is an option available in Visual Studio 2015 that installs the SDKs and tools you need for cross-platform development of shared libraries and native apps. インストールされている場合、Windows、Windows Phone、および Xbox に加え、iOS と Android のデバイスおよびプラットフォームで実行されるコードを、Visual C++ を使用して作成できます。When it's installed, you can use Visual C++ to create code that runs on iOS and Android devices and platforms, in addition to Windows, Windows Phone, and Xbox.

複数のプラットフォーム用にコードを記述することは、ストレスのたまる作業になることがあります。Writing code for multiple platforms can be frustrating. iOS、Android、および Windows の主要な開発言語とツールは、それぞれのプラットフォームによって異なります。The primary development languages and tools for iOS, Android, and Windows are different on each platform. ただし、すべてのプラットフォームは共通して C++ コードの記述をサポートしています。However, all platforms support writing code in C++. この共通項を利用して、プラットフォーム間でのコードの再利用を可能にすることができます。This is the common denominator that you can use to enable reuse of core code across platforms. C++ で記述されたネイティブ コードは、パフォーマンスに優れているだけでなく、リバース エンジニアリングに対する耐性もあります。Native code written in C++ can be both more performant and resistant to reverse engineering. コードを再利用できれば、複数のプラットフォーム用にアプリを作成する場合にかかる時間と労力の両方を節約できます。Code reuse can save both time and effort when creating apps for multiple platforms.

Visual C++ for Cross-Platform Mobile Development を使用した開発には、次の利点があります。Development using Visual C++ for Cross-Platform Mobile Development has several advantages:

  1. インストールが簡単。Easy installation. Visual Studio インストーラーによって、Android と iOS のアプリまたはライブラリを作成するために必要となるサード パーティ製のツールと SDK が取得され、インストールされます。The Visual Studio installer acquires and installs the required third-party tools and SDKs you need to build apps or libraries for Android and iOS. 構成とセットアップは単純で、ほとんどが自動的に行われます。Configuration and setup is simple and mostly automatic.

  2. 強力で使い慣れたビルド環境。A powerful and familiar build environment. Visual Studio テンプレートを使用して、共有可能なクロスプラットフォーム ソリューションおよびプロジェクトを簡単に作成できます。Create sharable cross-platform solutions and projects easily with Visual Studio templates. 1 つの共通インターフェイスを使用して、すべてのプロジェクトのプロパティを管理できます。Manage properties for all projects using one common interface. すべてのコードを Visual Studio エディターで編集できるため、組み込みのクロスプラットフォーム IntelliSense のコード補完機能とエラーの強調表示を利用できます。Edit all your code in the Visual Studio editor, and take advantage of the built-in cross-platform IntelliSense for code completion and error highlighting.

  3. 統合されたデバッグ操作。A unified debugging experience. Android デバイスおよびエミュレーター、iOS シミュレーターおよびデバイス、Windows または Windows Phone デバイスおよびエミュレーターを含めたすべてのプラットフォームで、Visual Studio の国際的レベルのデバッグ ツールを使用して、C++ コードを観察しながらステップ実行できます。Use the world-class debugging tools in Visual Studio to watch and step through C++ code on all platforms, including Android devices and emulators, iOS simulators and devices, and Windows or Windows Phone devices and emulators.

ツールを取得するGet the tools

Visual C++ for Cross-Platform Mobile Development は、Visual Studio 2015 に付属しているインストール可能なオプションです。Visual C++ for Cross-Platform Mobile Development is an installable option that comes with Visual Studio 2015. 前提条件とインストール手順については、「 Install Visual C++ for Cross-Platform Mobile Development」を参照してください。For prerequisites and installation instructions, see Install Visual C++ for Cross-Platform Mobile Development. iOS 用のコードをビルドするには、Mac コンピューターと Apple iOS Developer アカウントも必要です。To build code for iOS, you also need a Mac computer and an Apple iOS Developer Account. 詳細については、「 Install And Configure Tools to Build using iOS」を参照してください。For more information, see Install And Configure Tools to Build using iOS.

最新情報を入手するCome up to speed

Android または iOS の開発者向けに開始方法を説明している優れた資料が用意されています。If you're coming from Android or iOS development, we have some great material on how to get started. Visual Studio は、表現力豊かな優れた開発環境です。Visual Studio is an expressive and capable development environment. 使用方法を学ぶには、「 Android 開発者のための概要 」または「 iOS 開発者のための概要」を参照してください。To learn how to use it, try Getting started for Android developers or Getting started for iOS developers. これらのトピックでは、Visual Studio の概要と、Windows および Windows Phone 対応のクロスプラットフォーム アプリを開発する際に必要となる概念について紹介しています。These topics will introduce you to Visual Studio and the concepts you'll need to develop cross-platform apps for Windows and Windows Phone. iOS および Android 用のクロスプラットフォーム アプリを初めて作成する場合は、「 Build an OpenGL ES Application on Android and iOS」を参照してください。To get started writing your first cross-platform app for iOS and Android, see Build an OpenGL ES Application on Android and iOS.

Visual C++ for Cross-Platform Mobile Development には、アプリの作成を開始する際に役立つ次のテンプレートが含まれています。Visual C++ for Cross-Platform Mobile Development includes several templates to help you get started on your apps:

  • OpenGLES 2 アプリケーション (Android、iOS、Windows ユニバーサル)OpenGLES 2 Application (Android, iOS, Windows Universal)

    Android Native Activity アプリ、iOS アプリ、およびユニバーサル Windows アプリをビルドするプロジェクトのセットと、C++ コードの共有ライブラリを含むソリューションを作成します。Creates a solution that includes a set of projects to build an Android Native Activity app, an iOS app, and a Universal Windows app, together with a shared C++ code library. これらのアプリでは、共通の C++ OpenGL ES コードを使用して作成されたプラットフォーム固有のライブラリを使用して、各アプリケーションで同じ回転する立方体を描画します。These apps use platform-specific libraries created by using common C++ OpenGL ES code to draw the same spinning cube in each app. このテンプレートを使用するには、Visual Studio をインストールするときに、[ユニバーサル Windows アプリ開発ツール] オプションを指定する必要があります。You must include the Universal Windows App Development Tools option when you install Visual Studio to use this template.

  • Native-Activity アプリケーション (Android)Native-Activity Application (Android)

    完全な C++ OpenGL アプリを Android Native Activity プロジェクトとして作成します。Creates a complete C++ OpenGL app as an Android Native Activity project.

  • OpenGLES アプリケーション (Android、iOS)OpenGLES Application (Android, iOS)

    Android Native Activity アプリと iOS アプリの両方をビルドする一連のプロジェクトからなるソリューションを作成します。Creates a solution with a set of projects to build both an Android Native Activity app and an iOS app. これらのアプリでは、共通の C++ OpenGL ES コードを使用して作成されたプラットフォーム固有のライブラリを使用して、各アプリケーションで同じ回転する立方体を描画します。These apps use platform-specific libraries created by using common C++ OpenGL ES code to draw the same spinning cube in each app.

  • 共有ライブラリ (Android、iOS)Shared Library (Android, iOS)

    共有プロジェクトで共通の C++ コードを使用して、Android ダイナミック ライブラリ (.so) ファイルと iOS スタティック ライブラリ (.a) ファイルを作成する複数のプロジェクトからなるソリューションを作成します。Creates a solution with projects to create an Android dynamic library (.so) file and an iOS static library (.a) file by using common C++ code in a shared project.

  • 基本アプリケーション (Android、Ant)Basic Application (Android, Ant)

    Java ソース コードおよび Ant ビルド システムのみを使用する Android の「Hello, World」アプリ プロジェクトを作成します。Creates an Android "Hello, World" app project that uses only Java source code and the Ant build system.

  • 基本アプリケーション (Android、Gradle)Basic Application (Android, Gradle)

    Java ソース コードおよび Gradle ビルド システムのみを使用する Android の「Hello, World」アプリ プロジェクトを作成します。Creates an Android "Hello, World" app project that uses only Java source code and the Gradle build system.

  • 基本ライブラリ (Android、Ant)Basic Library (Android, Ant)

    Java ソース コードおよび Ant ビルド システムのみを使用する Android の「Hello, World」ライブラリ プロジェクトを作成します。Creates an Android "Hello, World" library project that uses only Java source code and the Ant build system.

  • 基本ライブラリ (Android、Gradle)Basic Library (Android, Gradle)

    Java ソース コードおよび Gradle ビルド システムのみを使用する Android の「Hello, World」ライブラリ プロジェクトを作成します。Creates an Android "Hello, World" library project that uses only Java source code and the Gradle build system.

  • ダイナミック共有ライブラリ (Android)Dynamic Shared Library (Android)

    C++ コードを使用して、Android ダイナミック ライブラリ (.so) ファイルを作成します。Creates an Android dynamic library (.so) file by using C++ code.

  • OpenGLES 2 アプリケーション (iOS)OpenGLES 2 Application (iOS)

    OpenGL ES 2 iOS アプリをビルドするプロジェクトのセットを含むソリューションを作成します。Creates a solution with a set of projects to build an OpenGL ES 2 iOS app. このアプリでは、OpenGL ES の C++ コードのライブラリを使用して、iOS アプリ内で回転するキューブを描画します。The app uses a library of C++ OpenGL ES code to draw the spinning cube in an iOS app. このアプリは、iOS アプリに C++ のライブラリをインポートする方法を確認するための出発点として適しています。This app can be a good starting point for seeing how to import C++ libraries into your iOS app.

  • スタティック ライブラリ (Android)Static Library (Android)

    Android 用のスタティック ライブラリを構築するプロジェクトを作成します。Creates a project to build a static library for Android. Android アプリでリンクできるダイナミック リンクは 1 つだけですが、スタティック ライブラリには数に制限なくリンクできます。You can only link one dynamic library in an Android app, but you can link any number of static libraries.

  • スタティック ライブラリ (iOS)Static Library (iOS)

    iOS 用のスタティック ライブラリを構築するプロジェクトを作成します。Creates a project to build a static library for iOS.

  • メイクファイル プロジェクト (Android)Makefile Project (Android)

    独自の Android メイクファイル プロジェクトのプロジェクト ラッパーを作成します。Creates a project wrapper for your own Android makefile projects.

サンプル コードを試すTry out sample code

Windows、Android、および iOS アプリで使用できる共有コード ライブラリを作成する方法、および Android の完全な Native Activity アプリを作成する方法を示すサンプルをダウンロードしてください。Download samples that show how to create shared code libraries you can use in Windows, Android, and iOS apps, and how to create complete Native Activity apps for Android. 開始するには、「 Cross-Platform Mobile Development Examples」を参照してください。To get started, see Cross-Platform Mobile Development Examples.

このセクションの内容In this section

  1. Install Visual C++ for Cross-Platform Mobile DevelopmentInstall Visual C++ for Cross-Platform Mobile Development

  2. iOS を使用してビルドするためのツールのインストールおよび構成Install And Configure Tools to Build using iOS

  3. Android Native Activity アプリの作成Create an Android Native Activity App

  4. Android および iOS での OpenGL ES アプリケーションのビルドBuild an OpenGL ES Application on Android and iOS

  5. Cross-Platform Mobile Development ExamplesCross-Platform Mobile Development Examples