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

このトピックでは、Xamarin を使用したクロス プラットフォーム モバイル アプリ開発を理解するのに役立つ概要の資料を提供します。This topic directs you to overview material that helps you understand developing cross-platform mobile apps with Xamarin. Visual Studio および Xamarinをまだインストールしていない場合は、まず Setup and install プロセスを開始して、ここに戻り、インストーラーの実行中にこれらのリソースを処理します。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, we suggest initially reading only those pages linked to directly 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 very 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 コンピューターで行います。The Windows computer with Visual Studio and Xamarin is where you'll do most of your work. このコンピューターで Windows および Android アプリを直接ビルドし、デバイスまたはエミュレーターでそれらを実行およびデバッグします。On this computer you directly build Windows and Android apps and run and debug them on a device or an emulator. また、Mac を使用して iOS アプリをリモートでビルド、実行、およびデバッグします。You 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 および Xamarin がある Mac は、iOS アプリ向けのビルド/署名ホスト、およびランタイム環境としての役割を果たします。The Mac with Xcode and Xamarin serves as the build/signing host and runtime environment for iOS apps. Windows コンピューターの Visual Studio からの iOS のビルドは、この Mac に委任されます。Visual Studio から iOS アプリをデバッグするときは、Mac の iOS シミュレーターか、または Mac に接続されているテザリングされたデバイスで直接実行されます。Builds for iOS from Visual Studio on the Windows computer are delegated to this Mac; when debugging an iOS app from Visual Studio, it runs in the iOS simulator on the Mac or directly on a tethered device connected to the Mac. この場合、Mac 上または Mac の近くでアプリとやり取りして、Visual Studio でデバッグ機能を実行します。In this case you'll interact with the app on or near the Mac, and have your debugging experience in Visual Studio.

    これらの関係を次に示します。また、iOS アプリでの作業について詳しくは、「 Introduction to Xamarin.iOS for Visual Studio 」(xamarin.com) で読むことができます。These relationships are illustrated below, and you can read more about working with iOS apps on Introduction to Xamarin.iOS for Visual Studio (xamarin.com).

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

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

10 分から 30 分10-30 minutes

  1. コード共有のオプション (xamarin.com)。Sharing Code Options (xamarin.com). すべてのターゲット プラットフォームでサポートされる .NET API のみの使用を最も良くサポートしているため、ポータブル クラス ライブラリのオプションを使用することをお勧めします。We recommend using the portable class libraries option, as it best supports using only those .NET APIs that are supported across all target platforms. ほとんどのビジネス ロジックのコードは、データベースへのアクセス、REST API の呼び出し、ポータブル Xamarin コンポーネントの呼び出し (このトピックの最後の「 Deeper Dive: Xamarin Components 」を参照) を含めて、PCL に存在します。Most business logic code will reside in the PCL, including access to databases, calls to REST APIs, and calls to portable Xamarin components (see Deeper Dive: Xamarin Components at the end of this topic). Xamarin.Forms で記述された共通の UI コードは、PCL にも置くことができます。Common UI code written with Xamarin.Forms can also reside in a PCL.

  2. (省略可能) ケース スタディ: Tasky (xamarin.com) では、フル機能アプリのデザインと構造のベスト プラクティスを説明します。たとえば、データ、データ アクセス、ビジネスの各レイヤーを分離する共有コードのために PCL を使用してプロジェクトを構成するなどです。(Optional) Case Study: Tasky (xamarin.com), describes some best practices for design and structure of a full-featured app such as structuring the project with a PCL for 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 では、優れたネイティブ アプリを構築する Xamarin Native と Xamarin.Forms の 2 つの方法を提供します。Xamarin provides two ways to build great native 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 allowing 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 では、ポータブル クラス ライブラリですべてのプラットフォーム用の共有 UI レイヤーを記述できる汎用化された API セットを提供します。Xamarin.Forms provides a generalized set of APIs that lets you write a shared UI layer for all platforms in a portable class library. Xamarin.Forms は各ターゲット プラットフォームのネイティブ コントロールに表示され、ネイティブの外観になります。Xamarin.Forms renders to native controls on each target platform to give a native look and feel. デザイナーを使用する代わりに、Xamarin.Forms を使用して、C# と XAML で UI を構築します。Rather than using a designer, with Xamarin.Forms, you build your UI using C# and XAML.

アプローチをあらかじめ決めておく必要はありません。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 を使用して、プラットフォーム間で類似した UI と機能を提供する汎用目的の画面を構築します。たとえば、ログイン、連絡先フォーム、検索結果などです。Use Xamarin.Forms to build general-purpose screens that provide similar UI 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 UI on a per-platform basis. これらには、コードと XAML の両方から使用できる OnPlatform API が含まれ、カスタム ビューの作成、既存のレンダラーの拡張、カスタム レンダラーの作成を行います。These include the OnPlatform API that can be used from both code and XAML, creating a custom view, extending an existing renderer, and creating a custom renderer.

  • 必要に応じて、Xamarin Native を使用して、各プラットフォームの独自の UI 機能を使用する画面 (ネイティブのカメラ キャプチャとイメージの操作を使用する画面など) を構築します。If necessary, use Xamarin Native to build screens that use unique UI features of each platform, for example, a screen that uses native camera capture and image manipulation.

    必ず、まず Xamarin.Forms ソリューションを使用してプラットフォーム間での UI コード共有をセットアップしてから、カスタマイズ機能を使用してプラットフォーム固有の調整を行うようお勧めします。We recommend always starting with a Xamarin.Forms solution to set up UI code sharing across platforms, and using the customization capabilities to 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.com) は、簡単な概要、および Xamarin.Forms とネイティブ UI レイヤー (つまり、Xamarin.iOS と Xamarin.Android) を比較した長所と短所を提供します。Xamarin.Forms (xamarin.com) 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 の概要 (xamarin.com)(Optional) An Introduction to Xamarin.Forms (xamarin.com)

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

  5. (省略可能) Jason Smith による「 クロスプラットフォーム - Xamarin.Forms を使用して UI コードをモバイル プラットフォーム間で共有する 」(MSDN マガジン) では、Xamarin.Forms 内でのさまざまなカスタマイズ オプションの概要を説明します。それについて詳しくは、「 各プラットフォームでコントロールをカスタマイズする 」(xamarin.com) で説明されています。(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 Customizing Controls on Each Platform (xamarin.com).

詳細: エミュレーターでのデバッグ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 the following:

  1. Android エミュレーターAn Android emulator. 使用している Windows のバージョンに応じて、Microsoft の Visual Studio Emulator for Android と Xamarin Player のいずれかをお勧めします。どちらも高速パフォーマンスを提供し、さまざまなデバイスの機能をサポートしています。Depending on which version of Windows you are using, we recommend either Microsoft's Visual Studio Emulator for Android or the Xamarin Player, both of which offer fast performance and support a variety of device capabilities:

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

  3. Microsoft の Windows Phone エミュレーター。Microsoft's Windows Phone Emulator. 詳しくは、「 Windows Phone 8 用 Windows Phone エミュレーター」をお読みください。To learn more, read Windows Phone Emulator for Windows Phone 8.

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.