DevOps mit Xamarin

Mit Xamarin können Sie plattformübergreifende mobile Apps für Android, iOS und Windows mit C#, .NET und Visual Studio erstellen. Xamarin ermöglicht die gemeinsame Verwendung eines großen Teils des Codes für alle Plattformen, sodass nur ein kleiner Prozentsatz plattformspezifisch angepasst werden muss.

Das Entwickeln von Apps für moderne Plattformen umfasst viele weitere Aktivitäten neben dem Schreiben von Code. Diese als DevOps (Development + Operations) bezeichneten Aktivitäten decken den gesamten Lebenszyklus der App ab. Dazu gehören das Planen und Nachverfolgen der Arbeit, das Entwickeln und Implementieren von Code, das Verwalten eines Quellcoderepositorys, das Ausführen von Builds, das Verwalten von Continuous Integration und Deployment, das Testen (einschließlich Komponententests und Tests der Benutzeroberfläche), das Durchführen verschiedener Formen der Diagnose in Entwicklungs- und Produktionsumgebungen und das Überwachen der App-Leistung und des Benutzerverhaltens in Echtzeit über Telemetrie und Analysen.

Visual Studio bietet zusammen mit Azure DevOps Services und Team Foundation Server eine Vielzahl von DevOps-Funktionen. Viele dieser Funktionen sind vollständig auf plattformübergreifende Projekte anwendbar. Dies gilt vor allem für Xamarin-Apps, da sie mit C# und .NET erstellt werden, worauf einige DevOps-Tools basieren. Andere Tools erfordern die enge Integration in Build- und Laufzeitumgebungen. Da Xamarin-Apps nicht auf Windows-Plattformen ausgeführt werden und die Mono-Implementierung von .NET verwenden, bietet Xamarin spezielle Tools für bestimmte Anforderungen.

In den folgenden Tabellen wird beschrieben, welche DevOps-Features in Visual Studio ordnungsgemäß bzw. eingeschränkt funktionieren. Ausführliche Informationen über die Funktionen selbst finden Sie in der verknüpften Dokumentation.

Agile-Tools

Verweislink: Informationen zu Agile-Tools und Agile-Projektverwaltung

Allgemeiner Kommentar: alle Planungs- und Nachverfolgungsfunktionen sind vom Projekttyp und den Programmiersprachen unabhängig.

Feature Unterstützt von Xamarin Zusätzliche Kommentare
Verwalten von Rückständen und Sprints Ja
Arbeitsüberwachung Ja
Teamraumzusammenarbeit Ja
Kanban-Boards Ja
Berichte und Visualisierung des Fortschritts Ja

Modellierung

Referenzlink: Analyze and model architecture (Analysieren und Modellieren der Architektur)

Die Entwicklungsfeatures sind unabhängig von der Programmiersprache oder funktionieren mit .NET-Sprachen wie C#. Welche Aspekte im Zusammenhang mit Code stehen, finden Sie unter Rollen der Architektur und Modellierungsdiagramme in der Softwareentwicklung .

Funktion Unterstützt von Xamarin Zusätzliche Kommentare
Sequenzdiagramme Ja
Abhängigkeitsdiagramme Ja
Aufrufhierarchie Ja
Klassen-Designer Ja
Architektur-Explorer Ja
UML-Diagramme (Anwendungsfall, Aktivität, Klasse, Komponente, Sequenz und DSL) Ja
Ebenendiagramme Ja
Ebenenüberprüfung Ja

Code

Feature Unterstützt von Xamarin Zusätzliche Kommentare
Verwenden der Team Foundation-Versionskontrolle (TFVC) oder Azure Repos Ja
Erste Schritte mit Git in Azure Repos Ja
Verbessern der Codequalität Ja
Ermitteln von Änderungen am Code und andere Verläufe Ja Außer über plattformspezifische Grenzen hinweg, in denen die Implementierung bis zur Laufzeit nicht aufgelöst wird.
Verwenden von Code Maps zum Debuggen von Anwendungen Ja

Build

Referenzlink: Azure Pipelines

Feature Unterstützt von Xamarin Zusätzliche Kommentare
Lokaler TFS-Server Ja Auf Buildcomputern muss Xamarin installiert sein, und sie können mit einem OSX-Computer verknüpft werden, um Builds für iOS zu erstellen. Weitere Informationen finden Sie unter Verwenden von TFVC.
Lokaler Buildserver mit Verbindung zu Azure Pipelines Ja Anweisungen finden Sie unter Build and release agents (Build- und Release-Agents).
Gehosteter Controllerdienst von Azure Pipelines Ja Siehe Erstellen Ihrer Xamarin-App.
Builddefinitionen mit Vor- und Nachskripts Ja
Fortlaufende Integration einschließlich abgegrenzter Eincheckvorgänge Ja Abgegrenzte Eincheckvorgänge für TFVC, nur wenn Git auf einem Pull-Request-Modell statt mit Eincheckvorgängen arbeitet.

Test

Feature Unterstützt von Xamarin Zusätzliche Kommentare
Planen von Tests, Erstellen von Testfällen und Organisieren von Testauflistungen Ja
Manuelle Tests Ja
Test-Manager (Aufzeichnung und Wiedergabe von Tests) Ja Nur Windows-Geräte und Android-Emulatoren von Visual Studio.
Codeabdeckung n/v
Ausführen von Komponententests für Code Ja Für Windows- und Android-Ziele können die integrierten MSTest-Tools verwendet werden. Zum Ausführen von Komponententests für Windows, Android und iOS empfiehlt Xamarin NUnit. Siehe Verwenden von TFVC.
Verwenden der Benutzeroberflächenautomatisierung zum Testen des Codes Nur Windows Testaufzeichnung der Benutzeroberfläche in Visual Studio ist nur unter Windows möglich. Alle Plattformen finden Sie unter Xamarin.UITest.

Verbessern der Codequalität

Referenzlink: Verbessern der Codequalität

Funktion Unterstützt von Xamarin Zusätzliche Kommentare
Analysieren der Qualität von verwaltetem Code Ja
Suchen von doppeltem Code mit der Codeklonerkennung Ja
Messen von Komplexität und Verwaltbarkeit verwalteten Codes Ja
Leistungs-Explorer Nein Verwenden Sie stattdessen den Xamarin Profiler über Visual Studio für Mac. Beachten Sie, dass der Xamarin Profiler sich derzeit in der Vorschauversion befindet und noch nicht für Windows-Ziele funktioniert.
Analysieren von .NET Framework-Arbeitsspeicherproblemen Nein Visual Studio-Tools haben keinen Zugriff auf das Mono-Framework für die Profilerstellung.

Releaseverwaltung

Referenzlink: Erstellen und Veröffentlichen in Azure Pipelines und TFS

Funktion Unterstützt von Xamarin Zusätzliche Kommentare
Verwalten von Releaseprozessen Ja
Bereitstellen auf Servern für das Sideloading über Skripts Ja
Hochladen in den App Store Partial Es stehen Erweiterungen zur Verfügung, die diesen Prozess für manche App-Stores automatisieren können. Ein Übersicht finden Sie unter Extensions for Azure DevOps Services (Erweiterungen für Azure DevOps Services). Dort ist beispielsweise die Erweiterung für Google Play erhältlich.

Überwachen mit dem App Center SDK

Referenzlink: Überwachen mit dem App Center SDK

Funktion Unterstützt von Xamarin Zusätzliche Kommentare
Absturzanalysen, Telemetrie und Betaverteilung Ja