Xamarin を使用したモバイル開発について学習しますLearn about mobile development with Xamarin

この記事では、Xamarin によるクロスプラットフォーム モバイル アプリの開発を理解するために役立つ概要を紹介します。This article lists several overviews that can help you understand developing cross-platform mobile apps with Xamarin. Visual Studio および Xamarinをまだインストールしていない場合は、まず セットアップとインストール プロセスを開始して、ここに戻り、インストーラーの実行中にこれらのリソースを処理します。If you have not yet installed Visual Studio and Xamarin, start the Setup and install process first, then return here to work through these resources while the installers are running.

注意

別途明記されない限り、副次的なページではなく、ここから直接リンクしているページのみを最初に読むことをお勧めします。Unless otherwise noted, initially you might want to read only those pages linked directly from here, and not subsidiary pages. インストール プロセスが、この一覧を表示した後もまだ実行している場合は、戻って他のトピックを検索してもかまいません。If the installation process is still running after completing this list, feel free to go back and explore additional topics.

また、"要点" のマークの付いたトピックを参照したり、後で "詳細" トピックに戻ったりするのも自由です。Also feel free to review the topics marked "Essentials" and come back to the "Deeper Dive" topics later.

要点: Xamarin の概要Essentials: Introduction to Xamarin

10 分から 20 分10-20 minutes

  1. Xamarin を使用した Visual Studio におけるモバイル アプリ (visualstudio.com) は、Xamarin の主要な特性についての簡単な概要を提供します。Mobile Apps in Visual Studio with Xamarin (visualstudio.com) provides a short rundown of the primary characteristics of Xamarin.

  2. Xamarin を宣伝している James Montemagno 氏のC# と Visual Studio を使用したクロスプラットフォーム モバイル アプリのビルド (Channel 9、15 分 16 秒)。Building Cross-Platform Mobile Apps using C# and Visual Studio (Channel9, 15m16s) with Xamarin evangelist, James Montemagno. 最初の 3 分間は、Xamarin の概要、続けてコードのデモンストレーションです。The first three minutes are a Xamarin overview, followed by code demonstrations.

要点: Visual Studio と Xamarin 環境の概要Essentials: Overview of the Visual Studio and Xamarin Environment

5 分から 15 分5-15 minutes

  • 作業のほとんどは、Visual Studio と Xamarin がインストールされている Windows コンピューターで行います。You'll do most of your work on the Windows computer installed with Visual Studio and Xamarin. そのコンピューターで Windows アプリと Android アプリを直接ビルドし、デスクトップ、デバイス、エミュレーターで実行し、デバッグします。On this computer, you directly build Windows and Android apps and run and debug them on the desktop, devices, or emulators. また、Mac を使用して iOS アプリをリモートでビルド、実行、デバッグできます。You can also remotely build, run, and debug iOS apps via the Mac. Windows コンピューターの Visual Studio は、iOS Storyboard Designer や iOS シミュレーターにも接続できます。Visual Studio on the Windows computer can also connect to the iOS storyboard designer and the iOS simulator.

  • Xcode と Visual Studio for Mac がインストールされている Mac は、iOS アプリのビルド ホスト、署名ホスト、ランタイム環境として機能します。The Mac with Xcode and Visual Studio for Mac installed serves as the build host, signing host, and runtime environment for iOS apps. Windows コンピューターは iOS ビルドをこの Mac に委任します。The Windows computer delegates iOS builds to this Mac. アプリケーションは Mac の iOS シミュレーターで実行されるか、Mac に接続されているテザリングされたデバイスで直接実行されます。The application runs on an iOS simulator on the Mac, or directly on a tethered device connected to the Mac. Mac 上のアプリと対話できますが、デバッグは Visual Studio で実行します。You can interact with the app on the Mac, but conduct the debugging experience in Visual Studio.

以上の関係を下に図示します。These relationships are illustrated below.

Xamarin 環境における Windows 開発機 と Mac 開発機の関係 The relationship between Windows and Mac dev computers in a Xamarin environment

注意

この図には Windows Phone を省略せずに記載しています。The Windows Phone is shown in this diagram for purposes of completeness. Xamarin プラットフォームを使用するとき、推奨されるコード共有オプションは .NET Standard 2.0 ライブラリです。このライブラリは Windows Phone または Windows 10 Mobile デバイスと互換性がありません。When using the Xamarin platform, the recommended code-sharing option is a .NET Standard 2.0 library, which is incompatible with Windows Phone or Windows 10 Mobile devices.

iOS アプリの使用に関する詳細については、「Xamarin.iOS for Visual Studio の概要」を参照してください。You can read more about working with iOS apps on Introduction to Xamarin.iOS for Visual Studio.

要点: プロジェクトの構造化の方法Essentials: How projects are structured

10 分から 30 分10-30 minutes

  1. コード共有のオプションSharing Code Options. 新しいアプリケーションの場合、.NET Standard ライブラリを使用してコードを共有してください。For new applications, you should use a .NET Standard library to share code. ほとんどのビジネス ロジックのコードは、データベースへのアクセス、REST API の呼び出し、ポータブル Xamarin コンポーネントの呼び出しを含めて、.NET Standard ライブラリに存在します。Most business logic code will reside in the .NET Standard library, including access to databases, calls to REST APIs, and calls to portable Xamarin components. (この記事の終わりにある「詳細: Xamarin コンポーネント」を参照してください。)(See Deeper Dive: Xamarin Components at the end of this article). Xamarin.Forms で記述された共通の UI コードは、.NET Standard にもあります。Common UI code written with Xamarin.Forms also resides in a .NET Standard library.

  2. (省略可能) ケース スタディ: Tasky では、フル機能アプリのデザインと構造のベスト プラクティスを説明します。たとえば、データ、データ アクセス、ビジネスの各レイヤーを分離する共有コードでプロジェクトを構成するなどです。(Optional) Case Study: Tasky describes some best practices for design and structure of a full-featured app, such as structuring the project with shared code that separates data, data access, and business layers.

要点: ネイティブと Xamarin.Forms UI レイヤーEssentials: native and Xamarin.Forms UI layers

10 分から 40 分10-40 minutes

Xamarin には、優れたアプリを構築する方法が 2 つあります。Xamarin Native と Xamarin.Forms です。Xamarin provides two ways to build great apps: Xamarin Native and Xamarin.Forms.

Xamarin Native を使用して、iOS、Android、Windows の各ターゲット プラットフォームに個別の UI コードを記述します。With Xamarin Native, you write separate UI code for each target platform: iOS, Android, and Windows. この方法では、プラットフォーム固有の API に直接アクセスし、プラットフォームごとに UI をカスタマイズして設計できます。With this approach, you have direct access to platform-specific APIs to design a customized UI experience per platform. また、それぞれの UI の構築を支援するため、各プラットフォーム用のネイティブのデザイナーとコントロールのすべての機能を利用できます。You also have full access to the native designer and controls for each platform to help with building the respective UI.

Xamarin.Forms では、.NET Standard ライブラリですべてのプラットフォーム用の共有 UI レイヤーを記述できる汎用化された API セットを提供します。Xamarin.Forms provides a generalized set of APIs that lets you write a shared UI layer for all platforms in a .NET Standard library. Xamarin.Forms は各ターゲット プラットフォームのネイティブ コントロールに表示され、ネイティブの外観になります。Xamarin.Forms renders to native controls on each target platform to provide a native look and feel. デザイナーを使用する代わりに、C# と XAML で UI を構築します。Rather than using a designer, you build your UI using C# and XAML.

ほとんどの開発者は Xamarin.Forms を使用します。Most developers use Xamarin.Forms. Xamarin が初めての開発者にもこれをお勧めします。This is the recommended route for developers new to Xamarin. Xamarin Native という手法はより難しく、ターゲット プラットフォームの詳細な知識が必要になります。The Xamarin Native approach is more difficult and requires more detailed knowledge of the target platforms.

アプローチをあらかじめ決めておく必要はありません。Xamarin Native と Xamarin.Forms の両方を組み合わせてアプリを実装できます。You don't need to decide which approach to take up front; apps can be implemented using a combination of both Xamarin Native and Xamarin.Forms:

  • 汎用的な画面を構築するには Xamarin.Forms を使用します。Use Xamarin.Forms to build general-purpose screens. ログイン、連絡先フォーム、検索結果など、プラットフォーム全体で類似のユーザー インターフェイスと類似の機能が与えられます。These provide similar user interfaces and capabilities across platforms, such as logins, contact forms, and search results.

  • プラットフォームごとに UI を調整するには、Xamarin.Forms のさまざまなカスタマイズ機能を使用します。Use a variety of customization capabilities in Xamarin.Forms to adjust the UI on a per-platform basis. 最も単純なカスタマイズ方法として OnPlatform API を選択できます。The simplest customization option involves the OnPlatform API. また、カスタム ビューを作成したり、既存のレンダラーを拡張したり、カスタム レンダラーを作成したりできます。You can also create custom views, extend existing renderers, and create custom renderers.

  • 必要に応じて、Xamarin Native を使用し、各プラットフォームに固有の UI 機能を利用する画面を構築します。If necessary, use Xamarin Native to build screens that use unique UI features of each platform. 1 つの例として、ネイティブ カメラ キャプチャと画像操作を利用する画面があります。One example is a screen that uses native camera capture and image manipulation.

一般的には、最初に Xamarin.Forms を使用し、プラットフォーム全体の UI コード共有を構築します。You should generally start with a Xamarin.Forms solution to set up UI code sharing across platforms. 次にカスタマイズ機能を使用し、プラットフォーム固有の調整を行います。Use the customization capabilities to then make platform-specific adjustments. 完全にプラットフォーム固有の画面が必要な場合は、Xamarin Native を使用して個別に追加できます。If and when you need wholly platform-specific screens, you can add those individually using Xamarin Native.

詳細を表示:To learn more:

  1. Xamarin.Forms は、簡単な概要、Xamarin.Forms とネイティブ UI レイヤー (つまり、Xamarin.iOS と Xamarin.Android) を比較した長所と短所を提供します。Xamarin.Forms provides a brief overview and the pros and cons of Xamarin.Forms vs. native UI layers (that is, Xamarin.iOS and Xamarin.Android).

  2. James Montemagno 氏のビデオ「Xamarin.Forms: Native iOS, Android & Windows apps with C# & XAML」 (Xamarin.Forms: C# と XAML を使用した、ネイティブの iOS、Android および Windows アプリ) (Channel9、13 分 3 秒) の最初の 3 分間では、別の構成で概要を紹介しており、それに続けてデモを見ることができます。The first three minutes of James Montemagno's video Xamarin.Forms: Native iOS, Android & Windows apps with C# & XAML (Channel9, 13m3s) gives another overview, and you can continue watching for demos.

  3. (省略可能) Xamarin.Forms の概要(Optional) An Introduction to Xamarin.Forms

  4. (省略可能) デバイス クラス ドキュメントでカスタマイズに OnPlatform を使用する例をご覧ください。(Optional) See examples of using OnPlatform for customization in the Device Class documentation

  5. (省略可能) Jason Smith による「クロスプラットフォーム - Xamarin.Forms によるモバイル プラットフォーム間での UI コードの共有」 (MSDN マガジン) では、Xamarin.Forms 内でのさまざまなカスタマイズ オプションの概要を説明します。オプションの詳細はカスタム レンダラーに関するページにあります。(Optional) Cross-Platform - Share UI Code Across Mobile Platforms with Xamarin.Forms by Jason Smith (MSDN Magazine) outlines the different customization options within Xamarin.Forms, for which the details are covered on Custom Renderers.

詳細: エミュレーターでのデバッグDeeper Dive: Debugging with Emulators

10 分から 15 分10-15 minutes

物理デバイスを使用せずにクロスプラットフォーム アプリをデバッグするには、ここで紹介したエミュレーターを使用する必要があります。To debug your cross-platform apps without having to use a physical device, you will need to use emulators discussed here:

Microsoft の Android エミュレーターMicrosoft's Android emulator

Microsoft の Visual Studio Emulator for Android の使用をお勧めします。これは Visual Studio と共にインストールされます。It is recommended that you use Microsoft's Visual Studio Emulator for Android, which is installed with Visual Studio. Visual Studio Emulator for Android ビデオ (Channel9、5 分 55 秒) は、概要とデモを提供しますThe Visual Studio Emulator for Android video (Channel9, 5m55s) gives an overview and demonstration.

Apple の iOS シミュレーターApple's iOS Simulator

詳しくは、「 iOS シミュレーター入門 」(apple.com) をお読みください。To learn more, read Getting Started with the iOS Simulator (apple.com).

Microsoft の Windows Phone エミュレーターMicrosoft's Windows Phone Emulator.

詳細については、Microsoft Emulator for Windows 10 Mobile を使用するテストに関するページをお読みください。To learn more, read Test with the Microsoft Emulator for Windows 10 Mobile.

Deeper Dive: Xamarin ComponentsDeeper Dive: Xamarin Components

10 分10 minutes

多くの拡張機能は、Xamarin コンポーネントをとおして、Xamarin アプリで利用できます。Many extended capabilities are available to Xamarin apps through Xamarin components. http://components.xamarin.com/ でダウンロードできる完全なカタログを見つけることができます。それには、追加の UI コントロール、認証、Microsoft Azure などのさまざまなクラウド サービス、その他多数のコンポーネントが含まれます。You can find the full catalog available for download on http://components.xamarin.com/, which includes components for additional UI controls, authentication, a variety of cloud services such as Microsoft Azure, and much more.