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 |