Xamarin アプリを使用したアプリケーション ライフサイクル管理 (ALM)Application Lifecycle Management (ALM) with Xamarin apps

Xamarin では、Android、iOS、および Windows を対象とするクロスプラットフォームのモバイル アプリを、C#、.NET、および Visual Studio を使用して作成することができます。Xamarin enables you to build cross-platform mobile apps targeting Android, iOS, and Windows using C#, .NET, and Visual Studio. Xamarin を利用すると、コードの大部分をプラットフォーム間で共有し、プラットフォーム固有にする必要のあるコードをごく一部に抑えることができます。Xamarin allows a large portion of code to be shared between platforms, with only a small percentage needing to be platform-specific. Xamarin 自体の詳細については、「Visual Studio と Xamarin」を参照してください。For more information on Xamarin itself, see Visual Studio and Xamarin.

最新のプラットフォーム向けのアプリ開発には、コードを記述するだけでなく、それ以外の多くのアクティビティが関係します。Developing apps for modern platforms involves many more activities than just writing code. これらのアクティビティは、アプリの完全なライフサイクルの中で DevOps (開発 + 運用) 期間になされるものあり、たとえば、作業のアジャイルな計画と追跡、コードの設計と実装、ソース コード リポジトリの管理、ビルドの実行、継続的に実行されるインテグレーションと展開の管理、テスト (単体テストと UI テストを含む)、開発環境と運用環境の両方におけるさまざまな形式の診断の実行、製品利用統計情報と分析によるアプリのパフォーマンスとユーザー動作のリアルタイムな監視などがあります。These activities, referred to as DevOps (development + operations), span the app's complete lifecycle and include planning and tracking work, designing and implementing code, managing a source code repository, running builds, managing continuous integrations and deployments, testing (including unit tests and UI tests), running various forms of diagnostics in both development and production environments, and monitoring app performance and user behaviors in real time through telemetry and analytics.

Visual Studio、Visual Studio Team Services、および Team Foundation Server は、さまざまな DevOps 機能 (アプリケーション ライフサイクル管理 (ALM) とも呼ばれる) を提供しています。Visual Studio together with Visual Studio Team Services and Team Foundation Server provide a variety of DevOps capabilities, also referred to as Application Lifecycle Management or ALM. これらの多くは、クロスプラットフォームのプロジェクトに完全に適用されます。Many of these are wholly applicable to cross-platform projects.

Xamarin アプリでは特にそう言えます。C# と .NET で構築し、いくつかの ALM ツールはそれらを中心に構築されているからです。This is especially true with Xamarin apps because they are built with C# and .NET, around which some ALM tools are built. その他のツールでは、ビルド環境およびランタイム環境との緊密な統合が必要です。Other tools, require tight integration with build and runtime environments. Xamarin アプリは Windows 以外のプラットフォームでも実行でき、.NET の Mono 実装を使用しているため、Xamarin では特定の必要に合わせて専門ツールが提供されます。Because Xamarin apps run on non-Windows platforms and use the Mono implementation of .NET, Xamarin provides specialized tools for certain needs.

次の表は、Visual Studio ALM 機能のうち Xamarin プロジェクトで機能するはずの機能と、制限がある機能を示しています。The tables below identifies which Visual Studio ALM features you can expect to work well with a Xamarin project, and which ones have limitations. 各機能そのものの詳細については、リンク先のドキュメントを参照してください。Refer to the linked documentation for details on the features themselves.

アジャイル ツールAgile tools

参照リンク: 作業 (Visual Studio Team Services または TFS (Team Explorer Everywhere など) を使用)Reference link: Work (using Visual Studio Team Services or TFS, including Team Explorer Everywhere)

一般的なコメント: すべての計画機能と追跡機能は、プロジェクトの種類とコーディング言語には依存しません。General Comment: all planning and tracking features are independent of project type and coding languages.

機能Feature Xamarin でサポートされているかどうかSupported with Xamarin その他のコメントAdditional Comments
バックログとスプリントの管理Manage backlogs and sprints [はい]Yes
作業の追跡Work tracking [はい]Yes
チーム ルーム コラボレーションTeam room collaboration [はい]Yes
かんばんボードKanban boards [はい]Yes
進行状況のレポートと視覚化Report and visualize progress [はい]Yes

モデリングModeling

参照リンク: アーキテクチャの分析およびモデリングReference link: Analyzing and Modeling Architecture

デザイン機能は、コーディング言語に依存しないか、または C# のような .NET 言語と一緒に機能します。Design features are independent of coding language, or work with .NET languages like C#. コードに関連する側面については「ソフトウェア開発におけるアーキテクチャ図とモデル図の役割」を参照してください。See Roles of Architecture and Modeling Diagrams in Software Development for what aspects are related to code.

機能Feature Xamarin でサポートされているかどうかSupported with Xamarin その他のコメントAdditional Comments
シーケンス図Sequence diagrams [はい]Yes
依存関係グラフDependency graphs [はい]Yes
呼び出し階層Call hierarchy [はい]Yes
クラス デザイナーClass designer [はい]Yes
アーキテクチャ エクスプローラーArchitecture explorer [はい]Yes
UML 図 (ユース ケース、アクティビティ、クラス、コンポーネント、シーケンス、および DSL)UML diagrams (use case, activity, class, component, sequence, and DSL) [はい]Yes
レイヤー図Layer diagrams [はい]Yes
レイヤー検証Layer validation [はい]Yes

コードCode

機能Feature Xamarin でサポートされているかどうかSupported with Xamarin その他のコメントAdditional Comments
Team Foundation バージョン管理 または Visual Studio Team Services を使用Use Team Foundation Version Control or Visual Studio Team Services [はい]Yes
Team Services で Git を使用した作業の開始Getting started with Git in Team Services [はい]Yes
コード品質の向上Improve Code Quality [はい]Yes
コード変更およびその他の履歴の検索Find code changes and other history [はい]Yes ただし、実行時まで実装が解決しない、プラットフォームに固有の境界をまたぐ場合を除きます。Except across platform-specific boundaries where the implementation isn't resolved until run time.
コード マップを使用してアプリケーションをデバッグするUse code maps to debug your applications [はい]Yes

ビルドBuild

参照リンク: ビルドReference link: Build

機能Feature Xamarin でサポートされているかどうかSupported with Xamarin その他のコメントAdditional Comments
オンプレミス TFS サーバーOn-premises TFS server [はい]Yes ビルド コンピューターに Xamarin がインストールされている必要があります。iOS 用にビルドするには、OSX コンピューターにリンクできる必要があります。Build machines must have Xamarin installed and can be linked to an OSX computer to build for iOS. Xamarin 用に TFS を構成する 」(Xamarin web サイト) を参照してください。See Configuring TFS for Xamarin (Xamarin website)
Visual Studio Team Services にリンクされたオンプレミスのビルド サーバーOn-premises build server linked to Visual Studio Team Services [はい]Yes 手順については、ビルド サーバーを参照してください。See Build server for instructions.
Visual Studio Team Services のホスト コントローラー サービスHosted controller service of Visual Studio Team Services [はい]Yes Build your Xamarin app」 (Xamarin アプリのビルド) を参照してください。See Build your Xamarin app.
事前スクリプトと事後スクリプトによるビルド定義Build definitions with pre- and post-scripts [はい]Yes
継続的な統合 (ゲート チェックインを含む)Continuous integration including gated check-ins [はい]Yes Git としての TFVC へのゲート チェックインのみ、チェックイン モデルではなく、プル要求モデルで機能します。Gated check-ins for TFVC only as Git works on a pull-request model rather than check-ins.

テスト中Testing

機能Feature Xamarin でサポートされているかどうかSupported with Xamarin その他のコメントAdditional Comments
テストの計画、テスト ケースの作成、およびテスト スイートの編成Planning tests, creating test cases and organizing test suites [はい]Yes
手動テストManual testing [はい]Yes
テスト マネージャー (テストの記録と再生)Test Manager (record and playback tests) [はい]Yes Windows デバイスと Android エミュレーター (Visual Studio からのみ)。Windows devices and Android emulators only from Visual Studio. Xamarin Test Recorder を使用すると、すべてのデバイスの記録が可能です。Recording for all devices is possible with Xamarin Test Recorder.
コード カバレッジCode coverage N/An/a
コードの単体テストUnit Test Your Code [はい]Yes Windows と Android を対象にする場合は、組み込みの MSTest ツールを使用できます。For Windows and Android targets, the built-in MSTest tools can be used. Windows、Android、および iOS で単体テストを実行するには、Xamarin では NUnit が推奨されています。To run unit tests on Windows, Android, and iOS, Xamarin recommends NUnit. Xamarin 用に TFS を構成する 」(Xamarin web サイト) を参照してください。See Configuring TFS for Xamarin (Xamarin website).
UI オートメーションを使用してコードをテストするUse UI Automation To Test Your Code Windows のみWindows only Visual Studio の UI テスト レコーダーは Windows のみです。Visual Studio's UI test recorder is Windows only. すべてのプラットフォームについては、Xamarin Test Recorder を参照してください。For all platforms, see Xamarin Test Recorder.

コード品質の向上Improve code quality

参照リンク: コードの品質の向上Reference link: Improve Code Quality

機能Feature Xamarin でサポートされているかどうかSupported with Xamarin その他のコメントAdditional Comments
マネージ コードの品質の分析Analyzing Managed Code Quality [はい]Yes
コード クローン検出を使用した重複コードの検出Finding Duplicate Code by using Code Clone Detection [はい]Yes
マネージ コードの複雑さと保守性の測定Measuring Complexity and Maintainability of Managed Code [はい]Yes
パフォーマンス エクスプローラーPerformance Explorer ×No 代わりに、Xamarin Studio の Xamarin プロファイラー を使用します。Use the Xamarin Profiler through Xamarin Studio instead. Xamarin プロファイラーは現在プレビュー期間中であり、Windows を対象にした場合はまだ動作しないことに注意してください。Note that the Xamarin Profiler is currently in preview and does not yet work for Windows targets.
.Net Framework のメモリ分析の問題Analyze .NET Framework memory issues ×No Visual Studio ツールには、プロファイリング用の Mono フレームワークへのフックはありません。Visual Studio tools do not have hooks into the Mono framework for profiling.

リリース管理Release management

参照リンク: リリース管理による配置の自動化Reference link: Automate deployments with Release Management

機能Feature Xamarin でサポートされているかどうかSupported with Xamarin その他のコメントAdditional Comments
リリース プロセスの管理Manage release processes [はい]Yes
スクリプトによるサイドローディング用のサーバーへの配置Deployment to servers for side-loading via scripts [はい]Yes
アプリ ストアへのアップロードUpload to app store PartialPartial 一部のアプリ ストアに対して、このプロセスを自動化することができる拡張機能が使用できます。Extensions are available that can automate this process for some app stores. たとえば、Google Play の拡張機能については、Visual Studio Team Services の拡張機能を参照してください。See Extensions for Visual Studio Team Services; for example, the extension for Google Play.

HockeyApp による監視Monitor with HockeyApp

参照リンク: HockeyApp による監視Reference link: Monitor with HockeyApp

機能Feature Xamarin でサポートされているかどうかSupported with Xamarin その他のコメントAdditional Comments
クラッシュ分析、製品利用統計情報、およびベータ版の配布Crash analytics, telemetry, and beta distribution [はい]Yes