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

Xamarin では、Android、iOS、および Windows を対象とするクロスプラットフォームのモバイル アプリを、C#、.NET、および Visual Studio を使用して作成することができます。 Xamarin を利用すると、コードの大部分をプラットフォーム間で共有し、プラットフォーム固有にする必要のあるコードをごく一部に抑えることができます。 Xamarin 自体の詳細については、「Visual Studio と Xamarin」を参照してください。

最新のプラットフォーム向けのアプリ開発には、コードを記述するだけでなく、それ以外の多くのアクティビティが関係します。 これらのアクティビティは、アプリの完全なライフサイクルの中で DevOps (開発 + 運用) 期間になされるものあり、たとえば、作業のアジャイルな計画と追跡、コードの設計と実装、ソース コード リポジトリの管理、ビルドの実行、継続的に実行されるインテグレーションと展開の管理、テスト (単体テストと UI テストを含む)、開発環境と運用環境の両方におけるさまざまな形式の診断の実行、製品利用統計情報と分析によるアプリのパフォーマンスとユーザー動作のリアルタイムな監視などがあります。

Visual Studio、Visual Studio Team Services、および Team Foundation Server は、さまざまな DevOps 機能 (アプリケーション ライフサイクル管理 (ALM) とも呼ばれる) を提供しています。 これらの多くは、クロスプラットフォームのプロジェクトに完全に適用されます。

Xamarin アプリでは特にそう言えます。C# と .NET で構築し、いくつかの ALM ツールはそれらを中心に構築されているからです。 その他のツールでは、ビルド環境およびランタイム環境との緊密な統合が必要です。 Xamarin アプリは Windows 以外のプラットフォームでも実行でき、.NET の Mono 実装を使用しているため、Xamarin では特定の必要に合わせて専門ツールが提供されます。

次の表は、Visual Studio ALM 機能のうち Xamarin プロジェクトで機能するはずの機能と、制限がある機能を示しています。 各機能そのものの詳細については、リンク先のドキュメントを参照してください。

アジャイル ツール

参照リンク: 作業 (Visual Studio Team Services または TFS (Team Explorer Everywhere など) を使用)

一般的なコメント: すべての計画機能と追跡機能は、プロジェクトの種類とコーディング言語には依存しません。

特性 Xamarin でサポートされているかどうか その他のコメント
バックログとスプリントの管理 はい
作業の追跡 はい
チーム ルーム コラボレーション はい
かんばんボード はい
進行状況のレポートと視覚化 はい

モデリング

参照リンク: アーキテクチャの分析およびモデリング

デザイン機能は、コーディング言語に依存しないか、または C# のような .NET 言語と一緒に機能します。 コードに関連する側面については「ソフトウェア開発におけるアーキテクチャ図とモデル図の役割」を参照してください。

特性 Xamarin でサポートされているかどうか その他のコメント
シーケンス図 はい
依存関係グラフ はい
呼び出し階層 はい
クラス デザイナー はい
アーキテクチャ エクスプローラー はい
UML 図 (ユース ケース、アクティビティ、クラス、コンポーネント、シーケンス、および DSL) はい
レイヤー図 はい
レイヤー検証 はい

コード

特性 Xamarin でサポートされているかどうか その他のコメント
Team Foundation バージョン管理 または Visual Studio Team Services を使用 はい
Team Services で Git を使用した作業の開始 はい
コードの品質向上 はい
コード変更およびその他の履歴の検索 はい ただし、実行時まで実装が解決しない、プラットフォームに固有の境界をまたぐ場合を除きます。
コード マップを使用してアプリケーションをデバッグする はい

ビルド

参照リンク: ビルド

特性 Xamarin でサポートされているかどうか その他のコメント
オンプレミス TFS サーバー はい ビルド コンピューターに Xamarin がインストールされている必要があります。iOS 用にビルドするには、OSX コンピューターにリンクできる必要があります。 「 Xamarin 用に TFS を構成する 」(Xamarin web サイト) を参照してください。
Visual Studio Team Services にリンクされたオンプレミスのビルド サーバー はい 手順については、ビルド サーバーを参照してください。
Visual Studio Team Services のホスト コントローラー サービス はい Build your Xamarin app」 (Xamarin アプリのビルド) を参照してください。
事前スクリプトと事後スクリプトによるビルド定義 はい
継続的な統合 (ゲート チェックインを含む) はい Git としての TFVC へのゲート チェックインのみ、チェックイン モデルではなく、プル要求モデルで機能します。

テスト中

参照リンク: アプリケーションのテスト

特性 Xamarin でサポートされているかどうか その他のコメント
テストの計画、テスト ケースの作成、およびテスト スイートの編成 はい
手動テスト はい
テスト マネージャー (テストの記録と再生) はい Windows デバイスと Android エミュレーター (Visual Studio からのみ)。 Xamarin Test Recorder を使用すると、すべてのデバイスの記録が可能です。
コード カバレッジ 適用なし
コードの単体テスト はい Windows と Android を対象にする場合は、組み込みの MSTest ツールを使用できます。 Windows、Android、および iOS で単体テストを実行するには、Xamarin では NUnit が推奨されています。 「 Xamarin 用に TFS を構成する 」(Xamarin web サイト) を参照してください。
UI オートメーションを使用してコードをテストする Windows のみ Visual Studio の UI テスト レコーダーは Windows のみです。 すべてのプラットフォームについては、Xamarin Test Recorder を参照してください。

コード品質の向上

参照リンク: コードの品質の向上

特性 Xamarin でサポートされているかどうか その他のコメント
マネージ コードの品質の分析 はい
コード クローン検出を使用した重複コードの検出 はい
マネージ コードの複雑さと保守性の測定 はい
パフォーマンス エクスプローラー いいえ 代わりに、Xamarin Studio の Xamarin プロファイラー を使用します。 Xamarin プロファイラーは現在プレビュー期間中であり、Windows を対象にした場合はまだ動作しないことに注意してください。
.Net Framework のメモリ分析の問題 いいえ Visual Studio ツールには、プロファイリング用の Mono フレームワークへのフックはありません。

リリース管理

参照リンク: リリース管理による配置の自動化

特性 Xamarin でサポートされているかどうか その他のコメント
リリース プロセスの管理 はい
スクリプトによるサイドローディング用のサーバーへの配置 はい
アプリ ストアへのアップロード Partial 一部のアプリ ストアに対して、このプロセスを自動化することができる拡張機能が使用できます。 たとえば、Google Play の拡張機能については、Visual Studio Team Services の拡張機能を参照してください。

HockeyApp による監視

参照リンク: HockeyApp による監視

特性 Xamarin でサポートされているかどうか その他のコメント
クラッシュ分析、製品利用統計情報、およびベータ版の配布 はい