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.

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

デバイスDevices

Visual Studio Tools for Xamarin を利用すれば、コードや UI を共有し、同じソリューションで Android、iOS、Windows を対象にできます。With Visual Studio Tools for 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)
Xamarin モバイル アプリ開発ドキュメントXamarin mobile app development documentation
Xamarin アプリを使用したアプリケーション ライフサイクル管理 (ALM)Application Lifecycle Management (ALM) with Xamarin apps
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)

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 2017 をインストールし、インストーラーで [.NET によるモバイル開発] オプションを選びます。To get started, install Visual Studio 2017, select the Mobile Development with .NET option in the installer.

Visual Studio 2017 を既にインストールしてある場合は、Visual Studio インストーラーをもう一度実行し、Xamarin に対して上と同じ [.NET によるモバイル開発] オプションを選びます。If you already have Visual Studio 2017 installed, re-run the Visual Studio Installer and select the same Mobile Development with .NET 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 classes and methods. つまり、アプリにはネイティブ API とネイティブ コントロールのフル アクセスが与えられます。ネイティブ プラットフォーム言語で記述されたアプリと同様の応答性を持ちます。This means your apps have full access to native APIs and native 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. アプリを実行して表示を確認する準備ができたら、Android SDK エミュレーターを使用して Windows アプリをネイティブに実行できます。When you're ready to run your app and see how it looks, you can use the Android SDK emulator and run Windows apps natively. テザリングされた Android デバイスや Windows デバイスを直接使用することもできます。You can also use tethered Android and Windows devices directly. iOS プロジェクトでは、Mac のネットワークに接続し、Visual Studio から iOS エミュレーターを起動したり、テザリングされたデバイスに接続したりできます。For iOS projects, connect to a networked Mac and start the iOS 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 によるモバイル開発の概要」および Xamarin.Forms のドキュメントに関するページをご覧ください。For more details, see Learn about mobile development with Xamarin and the Xamarin.Forms documentation.

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
コード共有のオプション (Xamarin)Sharing Code Options (Xamarin)
.NET でのコード共有オプションCode sharing options with .NET

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 プラットフォーム (UWP) アプリのプロジェクト テンプレートから作業を開始します。Start with a Universal Windows Platform (UWP) 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.

詳細を表示Learn more
ユニバーサル Windows プラットフォームの紹介Intro to the Universal Windows Platform
最初のアプリの作成Create your first app
ユニバーサル 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)

Windows、iOS、Android デバイスWindows, iOS, and Android 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.

Javascript でのマルチデバイス ハイブリッド アプリMulti-device hybrid apps with Javascript

作業を開始するには、Visual Studio 2017 をインストールして、セットアップ中に [JavaScript によるモバイル開発] 機能を選択します。To get started, install Visual Studio 2017 and choose the Mobile Development with Javascript feature during setup. Cordova ツールにより、マルチプラットフォーム アプリをビルドするために必要なすべてのサード パーティのソフトウェアが自動的にインストールされます。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 エミュレーターや Android Emulator、ブラウザー、またはコンピューターに直接接続したデバイスなどを選択します。When you're ready to run your app and step through your code, choose an emulator, such as the Apache Ripple emulator or Android Emulator, 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 プラットフォーム (UWP) アプリを作成するためのプロジェクト テンプレートは、Visual Studio でまだ使用できるので、Windows デバイスだけを対象にする場合は、自由に使用してください。Project templates for creating Universal Windows Platform (UWP) 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.

詳細を表示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 2017 と C++ によるモバイル開発ワークロードをインストールします。First, install Visual Studio 2017 and the Mobile Development with C++ workload. その後、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

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

C++ とユニバーサル Windows プラットフォーム (UWP) アプリ プロジェクト テンプレートを使用すると、幅広い Windows 10 デバイスを対象とするアプリケーションを作成することもできます。You can also build an app that targets the full breadth of Windows 10 devices by using C++ and a Uiversal Windows Platform (UWP) 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)
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 2018.1 のサポートが提供され、Unity の ShaderLab シェーダー言語の構文の色分け、Unity との同期機能の向上、デバッグの機能向上、MonoBehavior ウィザードによるコード生成の機能強化などがなされました。The latest release of VSTU brings support for Unity 2018.1 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.

詳細を表示Learn more
Visual Studio での Unity ゲーム構築について学習するLearn more about building Unity games with Visual Studio
Visual Studio Tools for Unity についてさらに学習するRead more about Visual Studio Tools for Unity
Visual Studio Tools for Unity を使い始めるStart using Visual Studio Tools for Unity
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