Xamarin を使用した DevOps
Xamarin では、Android、iOS、および Windows を対象とするクロスプラットフォームのモバイル アプリを、C#、.NET、および Visual Studio を使用して作成することができます。 Xamarin を利用すると、コードの大部分をプラットフォーム間で共有し、プラットフォーム固有にする必要のあるコードをごく一部に抑えることができます。
最新のプラットフォーム向けのアプリ開発には、コードを記述するだけでなく、それ以外の多くのアクティビティが関係します。 これらのアクティビティは、アプリの完全なライフサイクルの中で DevOps (開発 + 運用) 期間になされるものあり、たとえば、作業のアジャイルな計画と追跡、コードの設計と実装、ソース コード リポジトリの管理、ビルドの実行、継続的に実行されるインテグレーションと展開の管理、テスト (単体テストと UI テストを含む)、開発環境と運用環境の両方におけるさまざまな形式の診断の実行、製品利用統計情報と分析によるアプリのパフォーマンスとユーザー動作のリアルタイムな監視などがあります。
Visual Studio、Azure DevOps Services、Team Foundation Server は、さまざまな DevOps 機能を提供しています。 これらの多くは、クロスプラットフォームのプロジェクトに完全に適用されます。 Xamarin アプリでは特にそう言えます。C# と .NET で構築し、いくつかの DevOps ツールはそれらを中心に構築されているからです。 その他のツールでは、ビルド環境およびランタイム環境との緊密な統合が必要です。 Xamarin アプリは Windows 以外のプラットフォームでも実行でき、.NET の Mono 実装を使用しているため、Xamarin では特定の必要に合わせて専門ツールが提供されます。
次の表は、Xamarin プロジェクトで動作する Visual Studio の DevOps 機能と制限がある機能を示しています。 各機能そのものの詳細については、リンク先のドキュメントを参照してください。
アジャイル ツール
参照リンク: アジャイル ツールとアジャイル プロジェクト管理の概要
一般的なコメント: すべての計画機能と追跡機能は、プロジェクトの種類とコーディング言語には依存しません。
| 機能 | Xamarin でサポートされているかどうか | その他のコメント |
|---|---|---|
| バックログとスプリントの管理 | はい | |
| 作業の追跡 | はい | |
| チーム ルーム コラボレーション | はい | |
| かんばんボード | はい | |
| 進行状況のレポートと視覚化 | はい |
モデリング
参照リンク: アーキテクチャの分析とモデル化
デザイン機能は、コーディング言語に依存しないか、または C# のような .NET 言語と一緒に機能します。 コードに関連する側面については、 ソフトウェア開発におけるアーキテクチャとモデリングの図の役割 を参照してください。
| 機能 | Xamarin でサポートされているかどうか | その他のコメント |
|---|---|---|
| シーケンス図 | はい | |
| 依存関係グラフ | はい | |
| 呼び出し階層 | はい | |
| クラス デザイナー | はい | |
| アーキテクチャ エクスプローラー | はい | |
| UML 図 (ユース ケース、アクティビティ、クラス、コンポーネント、シーケンス、および DSL) | はい | |
| レイヤー図 | はい | |
| レイヤー検証 | はい |
コード
| 機能 | Xamarin でサポートされているかどうか | その他のコメント |
|---|---|---|
| Team Foundation バージョン管理 (TFVC) または Azure Repos を使用する | はい | |
| Azure Repos で Git を使用した作業の開始 | はい | |
| コード品質の向上 | はい | |
| コード変更およびその他の履歴の検索 | はい | ただし、実行時まで実装が解決しない、プラットフォームに固有の境界をまたぐ場合を除きます。 |
| コード マップを使用してアプリケーションをデバッグする | はい |
ビルド
参照リンク: Azure Pipelines
| 機能 | Xamarin でサポートされているかどうか | その他のコメント |
|---|---|---|
| オンプレミス TFS サーバー | はい | ビルド コンピューターに Xamarin がインストールされている必要があります。iOS 用にビルドするには、OSX コンピューターにリンクできる必要があります。 TFVC の使用を参照してください |
| Azure Pipelines にリンクされたオンプレミスのビルド サーバー | はい | 手順については、「Build and release agents」 (ビルド エージェントとリリース エージェント) を参照してください。 |
| Azure Pipelines のホスト コント ローラー サービス | はい | 「Build your Xamarin app」 (Xamarin アプリのビルド) を参照してください。 |
| 事前スクリプトと事後スクリプトによるビルド定義 | はい | |
| 継続的な統合 (ゲート チェックインを含む) | はい | Git としての TFVC へのゲート チェックインのみ、チェックイン モデルではなく、プル要求モデルで機能します。 |
テスト
| 機能 | Xamarin でサポートされているかどうか | その他のコメント |
|---|---|---|
| テストの計画、テスト ケースの作成、およびテスト スイートの編成 | はい | |
| 手動テスト | はい | |
| テスト マネージャー (テストの記録と再生) | はい | Windows デバイスと Android エミュレーター (Visual Studio からのみ)。 |
| コード カバレッジ | N/A | |
| コードの単体テスト | はい | Windows と Android を対象にする場合は、組み込みの MSTest ツールを使用できます。 Windows、Android、および iOS で単体テストを実行するには、Xamarin では NUnit が推奨されています。 「TFVC の使用」を参照してください。 |
| UI オートメーションを使用してコードをテストする | Windows のみ | Visual Studio の UI テスト レコーダーは Windows のみです。 すべてのプラットフォームについては、Xamarin.UITest を参照してください。 |
コード品質の向上
リファレンス リンク: コード品質の向上
| 機能 | Xamarin でサポートされているかどうか | その他のコメント |
|---|---|---|
| マネージド コードの品質の分析 | はい | |
| コード クローン検出を使用した重複コードの検出 | はい | |
| マネージド コードの複雑さと保守性の測定 | はい | |
| パフォーマンス エクスプローラー | No | 代わりに、Visual Studio for Macを使用して Xamarin Profiler を使用します。 Xamarin プロファイラーは現在プレビュー期間中であり、Windows を対象にした場合はまだ動作しないことに注意してください。 |
| .NET Framework のメモリ分析の問題 | いいえ | Visual Studio ツールには、プロファイリング用の Mono フレームワークへのフックはありません。 |
リリース管理
リファレンス リンク: Azure Pipelinesおよび TFS でのビルドとリリース
| 機能 | Xamarin でサポートされているかどうか | その他のコメント |
|---|---|---|
| リリース プロセスの管理 | はい | |
| スクリプトによるサイドローディング用のサーバーへの配置 | はい | |
| アプリ ストアへのアップロード | Partial | 一部のアプリ ストアに対して、このプロセスを自動化することができる拡張機能が使用できます。 たとえば、Google Play の拡張機能については、Azure DevOps Services の拡張機能を参照してください。 |
App Center SDK を使用した監視
リファレンス リンク: App Center SDK を使用した監視
| 機能 | Xamarin でサポートされているかどうか | その他のコメント |
|---|---|---|
| クラッシュ分析、製品利用統計情報、およびベータ版の配布 | はい |