Anzeige
Anzeige
Analyse

Exklusiv: Apple verrät, wie Entwickler von Xcode Cloud profitieren

Apple hat auf der WWDC mit Xcode Cloud CI/CD für Xcloud 13 vorgestellt. t3n konnte exklusiv mit der Lead-Engineer und dem Chef des Produktmarketings für Entwicklerwerkzeuge über den Dienst sprechen.

Von Sébastien Bonset
8 Min.
Artikel merken
Anzeige
Anzeige

Bild: Apple

Im Rahmen der WWDC 2021 hat Apple auch in diesem Jahr wieder viele neue Tools, API und Dienste für Programmierer vorgestellt. Neben einer aufgebohrten Version von Swift Playgrounds, die es Entwicklern ermöglicht, Apps direkt auf dem iPad zu bauen und zu verteilen, war der neue Dienst Xcode Cloud für Continuous Integration, Continuous Delivery und Deployment (CI/CD) für viele Programmierer die bedeutendste Neuerung.

Anzeige
Anzeige

Wir konnten exklusiv mit Wiley Hodges, Head of Product Marketing for Developer Tools and Technologies, und Alison Tracey, die eine der Lead-Engineers für Xcode Cloud ist, über die Besonderheiten des neuen Dienstes sprechen und wie Entwickler genau davon profitieren können. Außerdem haben wir uns bei Plex umgehört, die Xcode Cloud bereits seit einigen Monaten für den Entwicklungsprozess der beliebten Streaming- und Client-Server-Medien-Plattform nutzen.

Mit Xcode Cloud bringt Apple CI/CD für die eigene Entwicklergemeinde. (Bild: Apple)

Was ist eigentlich CI/CD?

CI/CD steht für Continuous Integration, Continuous Delivery und Deployment. Grob vereinfacht handelt es sich dabei um eine Reihe von Tools, Prozessen und Techniken, um sowohl die Entwicklung als auch die Auslieferung von Software zu verbessern. CI/CD setzt auf eine hohe Automatisierung aller Phasen der Entwicklung von Anwendungen und soll dabei die Probleme von Devop-Teams lösen, die die Integration von neuem Code auslösen können.

Anzeige
Anzeige

Welche Bedeutung Apple dem Konzept beimisst, wird deutlich, wenn man Wiley Hodges zuhört: „Wir entwickeln seit vielen Jahren Werkzeuge, die es Programmierern leichter machen sollen, Apps zu bauen. Dazu gehören Aspekte wie automatisierte Tests, die Integration von Source-Code-Management-Systemen oder auch automatisiertes Code-Signing. Wir wissen aber, dass der Prozess bis zur fertigen Anwendung noch viele weitere Aufgaben beinhaltet – von der Verteilung der App an Beta-Tester über die Verwaltung von Feedback bis hin zu Crash-Reports. Die Entwicklergemeinde setzt generell in der jüngeren Vergangenheit mehr und mehr auf das Konzept von CI/CD, bei der automatisierte Builds und Tests dafür sorgen, dass die Qualität der Software während des Entwicklungsprozesses konstant verifiziert wird.“

Anzeige
Anzeige

Continuous Integration und Continuous Delivery decken den kompletten Entwicklungskreislauf ab. (Bild: Apple)

Alison ergänzt: „Continuous Integration hilft Entwicklern und dem Rest des Teams, zusammenzuarbeiten. Allein dadurch, dass sie Workflows teilen, führt das dazu, dass Teams bei der Entwicklung konsistente Methoden einsetzen – und zwar für jede Änderung, die sie comitten.“

Was ist Xcode Cloud?

Xcode Cloud ist ein CI/CD-Dienst, der in Xcode 13 integriert wird. Aktuell ist der Service als limitierte Beta erhältlich und ermöglicht Entwicklern, Apps in der Cloud zu bauen und zu testen. „Xcode Cloud ist tief in Xcode integriert, sodass Programmierer fokussiert und im Flow arbeiten können, und währenddessen alle Funktionen direkt im Source-Code und ihrem Code-Editor nutzen können“, erklärt Alison Tracey. „Sie können Aufgaben wie Builds und das Testing in die Cloud auslagern, sie profitieren von einem breiteren Testspektrum mit parallelen und automatisierten Tests sowie von der Integration mit anderen Apple-Diensten wie Testflight oder App-Store-Connect.“

Anzeige
Anzeige

Im Kern vereint Xcode Cloud alle Aspekte der Development-Pipeline und führt zu einem iterativen Prozess, bei dem Feedback direkt eingearbeitet werden kann.  Das macht es für Teams extrem einfach, kollaborativ zu coden. Das Konzept ist natürlich nicht neu, aber eine native Option dafür direkt in der Entwicklungsumgebung zu haben, ist ein großer Vorteil.

Xcode Cloud erleichtert die kollaborative Arbeit am Code. (Bild: Apple)

Einer der Hauptvorteile von Xcode Cloud ist die Möglichkeit, Bugs schnell zu finden und zu beheben, bevor ein Build im App-Store veröffentlicht wird. Entwickler werden automatisch über Bugs in einem Build informiert.

Generell scheint die Zeitersparnis ein wichtiges Argument für Xcode Cloud zu sein. Als wir bei Plex nachfragten, verriet uns Alex Stevenson-Price, Chefentwickler für Apple-Plattformen bei Plex, dass der Dienst ihnen jede Menge Zeit bei jedem Schritt ihres Entwicklungsprozesses einspart: „Wenn wir einen neuen Branch mit einem Feature oder Bugfix pushen, baut und testet Xcode Cloud den Code für uns und benachrichtigt uns über den Status. Auch bei einem Merge läuft das so. Wann immer wir einen neuen Release fertig haben, aktualisieren wir einfach den entsprechenden Branch und Xcode Cloud baut diesen, testet ihn und lädt ihn zu App-Store-Connect hoch.“

Anzeige
Anzeige

Kein Wechseln mehr zwischen unterschiedlichen Tools und Diensten. (Bild: Apple)

Die Vorteile von Xcode Cloud sind laut Alex die tiefe Integration in Xcode, sodass man direkt den Status eines Builds sieht, ohne seine Entwicklungsumgebung verlassen zu müssen. Außerdem könne man direkt aus dem Editor konfigurieren, was genau zu welchem Zeitpunkt gebaut werden soll. Auch die tiefe Integration mit Testflight hebt er hervor. CPO und Mitgründer Scott Olechowski ergänzt: „Aus der Produktperspektive ist der größte Vorteil ein deutlich schnellerer Development-Cycle sowie höherwertige Apps. Werkzeuge wie dieses, die sich komplett in unseren Entwicklungsprozess integrieren lassen, helfen uns dabei, effizienter bei der Entwicklung, QA und Release zu sein.“

Für welche Entwickler eignet sich Xcode Cloud?

Da der Preis für Xcode Cloud noch nicht bekannt gegeben wurde, fällt es schwer, einzuschätzen, für wen sich der Dienst lohnt. Die Antwort auf diese Frage legt aber nahe, dass Apple mit Xcode Cloud nicht nur große Dev-Teams, sondern auch Indie-Entwickler ansprechen will. „Wir wollen Tools bauen, die sich an jede Art von Entwickler richten. Uns ist es wichtig, dass unsere Tools und API sich für jeden Entwickler vom Indie bis zum Profi eignen“, erklärte uns Wiley.

Ich sage nicht, dass Software-Entwicklung einfach ist, aber wir wollen das Ganze viel einfacher und zugänglicher machen

Laut dem Chef von Apples Produktmarketing für Entwicklerwerkzeuge ist Xcode Cloud vielseitig und eignet sich sowohl für einzelne Programmierer als auch große Entwickler-Teams. Er hebt besonders den Einrichtungsprozess und das Onboarding hervor, die es Nutzern deutlich einfacher machen sollen, loszulegen – selbst wenn sie noch nie zuvor mit den Konzepten hinter CI/CD in Berührung gekommen sind. „Bei der Entwicklung von Xcode Cloud wollten wir sicherstellen, dass die fundamentalen Prinzipien hinter CI/CD allen Entwicklern auf unseren Plattformen zur Verfügung gestellt werden“, so Wiley.

Anzeige
Anzeige

Das sehen auch die ersten Entwickler so, die Xcode Cloud in der Beta im Einsatz haben. Alex Stevenson-Price verriet uns im Gespräch, dass die Einrichtung wirklich einfach sei: „Das Ganze war wirklich super einfach – und das, obwohl wir für Plex recht komplexen Code mit jeder Menge Dependencies haben. Als jemand, der selber lange als Indie-Dev gearbeitet hat, bin ich mir sicher, dass auch kleinere Entwickler von Xcode Cloud profitieren können. Indies werden wahrscheinlich auch schätzen, dass sie in den Genuss aller Vorteile eines CI/CD kommen, ohne ein starkes Devops-Team im Hintergrund zu haben.“

Ist der Source-Code sicher?

Der Source-Code muss besonders bei einem Cloud-Dienst sicher sein. Laut Apple handelt es sich bei Xcode Cloud um einen vollkommen sicheren Dienst. „Wir reden hier immerhin von Source-Code, der natürlich für einen Entwickler heilig ist“, gibt Alison zu bedenken. So wird der Code eines Projekts nur temporär während eines Builds gespeichert und direkt nach dem Prozess gelöscht. Zusätzlich werden alle Daten auf Xcode Cloud verschlüsselt und mittels Zwei-Faktor-Authentifizierung geschützt.

Was sind Workflows in Xcode Cloud?

Eines der Schlüsselkonzepte von Xcode Cloud sind Workflows. Der Dienst kommt mit einigen vorgefertigten Workflows, die von Entwicklern nach ihren eigenen Bedürfnissen und ihrem Entwicklungsprozess angepasst werden können. „Xcode Cloud is tief in Xcode integriert und mit Testflight und App-Store-Connect verbunden. Das führt zu einem Flow über die komplette Dev-Pipeline hinweg“, erklärt Wiley, und weiter: „Diese Integration hilft Programmierern dabei, auf ihr Projekt fokussiert zu bleiben. Oft sind noch ganz andere Menschen in diesen Prozess eingebunden, die ganz andere Tools als Entwickler nutzen. Diese wollen wir ebenfalls in den Prozess einbinden. Hier kommen Workflows ins Spiel.“

Anzeige
Anzeige

Workflows sind eines der Schlüsselkonzepte von Xcode Cloud. (Bild: Apple)

Ein Workflow setzt sich aus unterschiedlichen Komponenten zusammen und alles basiert auf Events. „Ein Event kann bei einem Source-Code-Provider seinen Ursprung haben, oder kann zum Beispiel eine vorher festgelegte Zeit sein, um einen Build zu starten“, erklärt Xcode-Cloud-Entwicklerin Alison. Außerdem gehört die Umgebung – eine Kombination aus macOS und Xcode – als Komponente dazu. Entwickler geben zudem die Details ihres Workflows sowie dessen Aufgabe an. So kann ein Workflow zum Beispiel die Aufgabe haben, eine Pull-Request zu eröffnen. „Entwickler weisen einem Workflow dann Aktionen zu, wie beispielsweise das Testen für ausgewählte Plattformen und die Simulatoren, auf die sie mit ihrem Test abzielen“, so Alison.

Workflows lassen sich von Entwicklern nach ihren Bedürfnissen konfigurieren. (Bild: Apple)

Hat man all dies erledigt, lassen sich sogenannte Post-Actions definieren, die zum Beispiel einen Deploy auf Testflight zur Folge haben. Bei Plex wird Xcode Cloud zum Beispiel dafür genutzt, um bei jedem neuen Commit einen neuen Build zu starten. „Wenn wir neuen Code pushen, baut Xcode Cloud automatisch eine neue Version unserer iOS- und tvOS-App, übernimmt alle Tests für uns und benachrichtigt uns via Slack, falls ein Build oder Test missglückt“, so Alex Stevenson-Price. Darüber hinaus gibt es auch einen Workflow, der täglich einen Nightly Build baut und auf Testflight für interne Testzwecke bereitstellt.

Wie wird getestet?

Xcode Cloud bietet mit automatisierten Tests die Möglichkeit, Bugs wesentlich schneller ausfindig zu machen und auszumerzen. Tests, die im Hintergrund laufen, sollen darüber hinaus dafür sorgen, die Effizienz einer Anwendung zu verbessern. Entwickler können ihren Workflow so anpassen, dass ihre App automatisch an Beta-Tester verteilt wird, wenn alle Tests mit Erfolg beendet wurden. „Da Tests bei jedem Commit laufen, können Entwickler schnell jedes Problem erkennen und beheben“, so Alison gegenüber t3n.

Anzeige
Anzeige

Xcode Cloud ermöglicht parallele und automatisierte Tests für alle Apple-Plattformen. (Bild: Apple)

Entwickler können außerdem ihre App parallel auf unterschiedlichen Geräten testen lassen – von iPhone und iPad über Mac bis hin zu anderen Apple-Geräten. Dabei lassen sich auch unterschiedliche Konfigurationen auswählen. In unserem Gespräch erfuhren wir, dass Xcode Cloud auf bis zu zwei Jahre alten Betriebssystemen testen kann. Die Chef-Entwicklerin des Dienstes erläutert die Vorteile dieser Möglichkeit wie folgt: „Parallele Tests ermöglichen es Entwicklern, eine viel breitere Palette an unterschiedlichen Geräten und Betriebssystem-Versionen durchzuführen, als sie das lokal könnten. Ein großer Vorteil von Xcode Cloud ist, dass Programmieren die Infrastruktur für einen CI-Dienst nicht selber bereitstellen müssen. Sie ist in alle Werkzeuge integriert, die ein Apple-Developer täglich nutzt.“

Xcode Cloud verhindert, dass Entwickler zwischen unterschiedlichen Tools und Diensten hin und her wechseln müssen. Alles, was man benötigt, steht direkt in der Entwicklungsumgebung zur Verfügung.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige