Microsoft App Center wird eingestellt - Was .NET-MAUI-Entwickler jetzt wissen müssen
Bei der Entwicklung von Mobile Apps fallen zahlreiche aufwändige Infrastrukturaufgaben an, die hinter den Kulissen und im Idealfall unsichtbar für den Endkunden ablaufen, aber entscheidend für die Qualität der App sind. Dazu gehören der Aufbau und die Verwaltung automatisierter Build- und Deploymentprozesse, die Durchführung von Tests auf realen Geräten, die Analyse von Nutzerdaten sowie die Erfassung detaillierter Diagnosedaten im Falle eines Absturzes der App auf einem Endgerät.
App Center
Microsoft Visual Studio App Center ist eine Plattform, die Entwicklungsteams viele dieser Infrastrukturaufgaben abnimmt. indem sie in der Cloud gehostete Dienste für die oben genannten Aufgaben bereitstellt.
Als Cloud-basierter Dienst erleichtert App Center die Verwaltung automatisierter Build- und Deploymentprozesse, die Durchführung von Tests auf realen Geräten sowie die Analyse von Benutzerdaten und die Diagnose von Anwendungsabstürzen. App Center unterstützt eine Vielzahl von Plattformen, darunter native iOS-Apps mit Swift und Objective-C, Android-Apps mit Java und Kotlin sowie Windows-Apps mit UWP, WPF und WinForms. Darüber hinaus ist es mit React Native und Xamarin kompatibel, was es zu einem vielseitigen Werkzeug in unserer täglichen Entwicklungsarbeit bei Quality Bytes macht.
In unseren Xamarin.Forms-Projekten nutzen wir insbesondere die Analytics- und Diagnostics-Funktionen, um tiefere Einblicke in das Nutzerverhalten zu erhalten und proaktiv auf mögliche Fehler zu reagieren. Bei der Entwicklung neuer .NET MAUI Apps und der Migration bestehender Xamarin.Forms-Apps auf .NET MAUI haben wir jedoch festgestellt, dass App Center unter .NET MAUI offiziell nicht unterstützt wird und nur sehr eingeschränkt funktioniert.
Microsoft hat sich eine lange Zeit leider sehr bedeckt gehalten, was die Unterstützung von .NET MAUI angeht. Das hat uns verwundert, denn schließlich endet der Support für Xamarin am 1. Mai 2024. Das bedeutet, dass viele Entwickler von Xamarin.Forms auf .NET MAUI umsteigen werden, dort aber keine offizielle Unterstützung für App Center vorfinden.
Im März 2024 wurde der Grund für Microsofts Zurückhaltung klar. Microsoft gab bekannt, dass das Visual Studio App Center zum 31. März 2025 eingestellt wird.
App Center Features
Bevor wir auf die Auswirkungen für .NET MAUI Entwickler und Migrationsprojekte von Xamarin.Forms zu .NET MAUI eingehen, wollen wir einen kurzen Blick auf die App Center Features werfen.
Build
Das Build-Feature von Microsoft Visual Studio App Center ermöglicht automatisierte Cloud-basierte Builds für Android-, iOS-, macOS- und UWP-Apps. Entwickler müssen lediglich die Repositories ihrer Projekte auf GitHub, Bitbucket oder Azure DevOps hosten und diese mit App Center verknüpfen, um bei jedem Commit automatische Builds auszuführen. Die gesamte Build-Infrastruktur wird in der Cloud gehostet, so dass keine lokalen Buildserver benötigt werden. Die Integration mit den App Center Test- und Distribute-Funktionen optimieren zudem den Release-Zyklus von Apps erheblich. Die ersten 240 Minuten Build-Zeit sind kostenlos, weitere Build-Ressourcen oder gleichzeitige Builds sind kostenpflichtig.
Test
Das kostenpflichtige Test-Feature im App Center ermöglicht es Apps automatisiert auf Tausenden von realen Geräten unter verschiedenen Betriebssystemkonfigurationen zu testen. Dies ist besonders wertvoll, um sicherzustellen, dass die App auch auf weniger verbreiteten Android-Gerätekombinationen fehlerfrei funktioniert.
Distribute
Die Distribute-Funktion ermöglicht die schnelle und effiziente Verteilung von Android-, iOS-, macOS- und Windows-Apps an die entsprechenden App-Stores oder Plattformen wie Microsoft Intune und Apple TestFlight. Die benutzerfreundliche Konfiguration versetzt Entwickler in die Lage, neue Test- oder Produktversionen schnell zur Verfügung zu stellen. Besonders interessant ist die Möglichkeit, neue Versionen gezielt an bestimmte Personen oder Gruppen auszuliefern, wodurch auch direktes Feedback von Testern eingeholt werden kann, was den Entwicklungsprozess deutlich verbessert.
Analytics
Mit der Analytics-Funktion erhalten Entwickler tiefe Einblicke in das Nutzerverhalten und die Performance ihrer Apps. Wichtige Daten wie Nutzeranzahl, Sitzungsdauer, Gerätetypen und Betriebssystemversionen werden erfasst und ausgewertet.
Diagnostics
Die Diagnostics-Funktion erfasst und analysiert Absturzmeldungen annähernd in Echtzeit. Stürzt eine App ab, werden detaillierte Informationen über den Fehler, einschließlich des Stack-Trace, automatisch gesammelt und beim nächsten Start der App an die App Center Server gesendet. Dies hilft Entwicklern, die Ursache schnell zu identifizieren und zu beheben.
Auswirkungen der App Center Einstellung auf .NET MAUI Entwickler
Werfen wir nun einen Blick auf die Auswirkungen der bevorstehenden App Center Einstellung für .NET-MAUI-Entwickler.
Build
Die direkten Auswirkungen auf den Build-Prozess für aktuelle .NET MAUI Apps sind begrenzt, da App Center keine Implementierung des .NET MAUI Build-Prozesses angeboten hat. Insofern musste hier bereits in der Vergangenheit ein alternativer Weg beschritten werden. Entwickler, die von Xamarin.Forms migrieren, stehen jedoch vor Herausforderungen, da sie eine Lösung für den Build-Prozess finden müssen. Einige mögliche Alternativen werden wir am Ende dieses Artikels vorstellen.
Test
Im Bereich der UI-Tests trifft die App Center Abschaltung .NET MAUI Entwickler gleich doppelt. Zumindest diejenigen, die für ihre Tests Xamarin UITest genutzt haben, welches mit einigen Anpassungen auch unter .NET MAUI lauffähig war. App Center ist die einzige uns bekannte Cloud-Plattform, die es ermöglicht, Xamarin UI Tests auf realen Geräten auszuführen. Entwickler müssen sich also sowohl einen neuen Dienstleister für UI Tests suchen, als auch ihre bestehenden Tests anpassen oder neu schreiben.
Distribute
Während es unter Xamarin.Forms möglich war, Apps automatisch mit App Center zu bauen und die erstellten Artefakte über Distribute zu verteilen, war dies unter .NET MAUI aufgrund der fehlenden Build-Unterstützung nicht möglich. Dies macht den Wegfall des Distribute-Features für reine .NET MAUI-Entwickler häufig weniger relevant.
Analytics und Crash Diagnostics
Analytics und Crash Diagnostics gehörten zu den meistgenutzten App-Center-Funktionen, was ihre Einstellung zu einer großen Herausforderung macht. Entwickler müssen sich nach alternativen Tools umsehen, die ähnliche Funktionen bieten, um weiterhin hilfreiche Einblicke in das Nutzerverhalten und Informationen über App-Abstürze zu erhalten.
Auswirkungen auf Entwickler, die von Xamarin.Forms zu .NET MAUI portieren
Für Entwickler, die derzeit Xamarin.Forms-Anwendungen zu .NET MAUI migrieren, stellt die App-Center-Einstellung eine zusätzliche Herausforderung dar. Die erwartete nahtlose App Center Unterstützung ist nicht vorhanden, was bedeutet, dass zusätzliche Ressourcen und Planungen erforderlich sind, um diese Übergangsphase zu bewältigen.
Alternativen zu App Center
Mit der bevorstehenden Einstellung von App Center ist es wichtig, sich frühzeitig mit Alternativen auseinander zu setzen. In den kommenden Blog-Posts werden wir einige dieser Alternativen detailliert vorstellen und ihre jeweiligen Vorteile und Anwendungsfälle herausarbeiten. Die Posts werden in diesem Blog-Post nach dem Erscheinen verlinkt. An dieser Stelle möchten wir lediglich einige der Altnativen aufzählen.
Build und Continuous Integration
Azure Pipelines
Azure Pipelines ist ein integraler Bestandteil von Azure DevOps und ermöglicht die effiziente Automatisierung von Build- und Release-Aufgaben. Es ist bei Quality Bytes sowohl für Xamarin.Forms als auch für .NET MAUI das Tool der Wahl, zumal wir mit Azure Pipelines auch unsere Web Apis kompilieren und deployen können und somit eine durchgängige Plattform nutzen.
GitHub Actions
GitHub Actions sind das GitHub Pendant zu Azure Pipelines. Ähnlich wie Azure Pipelines kann auch mit GitHub Actions eine effektive Build und Release Automatisierung gebaut werden.
Testing
Microsoft empfiehlt für die Entwicklung von UI-Tests unter .NET MAUI die Verwendung von Appium anstelle von Xamarin UITests. Appium-Tests können über Plattformen wie BrowserStack in der Cloud ausgeführt werden, wodurch Entwickler ihre Anwendungen auf einer Vielzahl von realen Geräten testen können. Diese Methode gewährleistet eine umfassende Abdeckung und erhöht die Fehlererkennung.
Distribution
Neben klassischen CI/CD-Tools wie Azure Pipelines und GitHub Actions könnt ihr Codemagic nutzen, um eure Apps effizient an den Apple App Store, TestFlight und Google Play zu liefern.
Analytics und Diagnostics
Firebase, New Relic, Raygun und Sentry bieten umfangreiche Funktionen, um die Performance eurer Apps in Echtzeit zu überwachen und zu optimieren, detaillierte Fehleranalysen durchzuführen und das Nutzerverhalten zu analysieren.
Fazit: Vorbereitung auf die Zukunft ohne App Center
Die bevorstehende Einstellung von Microsoft Visual Studio App Centers stellt .NET MAUI Entwickler und diejenigen, die von Xamarin.Forms migrieren, vor signifikante Herausforderungen. Es ist entscheidend, dass ihr proaktiv handelt und alternative Tools für Build, Test, Distribution sowie Analytics und Diagnostics zu findet, um den Entwicklungsprozess effizient und die App-Qualität hoch zu halten.
In diesem Blog Post haben wir eine Reihe von möglichen Tools und Plattformen aufgezählt, die als Ersatz für die Dienste des App Centers dienen können. In den kommenden Blog-Posts werden wir einige dieser Alternativen detailliert behandeln, um euch dabei zu helfen, die beste Wahl für eure spezifischen Bedürfnisse zu treffen. Wenn ihr darüber hinaus weitere Unterstützung benötigt, könnt ihr uns gerne für ein kostenloses Beratungsgespräch kontaktieren.
Über den Autor
André Krämer
Dipl.-Inform. (FH) André Krämer, Msc. ist Geschäftsführer der Quality Bytes GmbH. Der mehrfache Microsoft MVP ist seit 1997 in der Softwareentwicklung tätig und hat sich 2002 auf die Entwicklung mit Microsoft .NET spezialisiert.
Seine Schwerpunkte liegen in den Bereichen App-Entwicklung mit .NET MAUI, Azure DevOps, Dokumentenautomatisierung und Reporting mit TX Text Control sowie der Analyse von Memory Leaks und Performanceproblemen. Er ist regelmäßiger Autor für LinkedIn Learning, wo er bereits mehr als dreißig Videotrainings veröffentlicht hat. Außerdem ist er TX Text Control MVP und Microsoft MVP. Für den Hanser Verlag hat er ein Buch zu Xamarin.Forms und eins zu .NET MAUI geschrieben.