Von Christian Unbehaun2 Min. LesezeitRückblick 2023 · Architektur · Banking
Von CocoaPods zu Swift Packages
Bei comdirect habe ich die Abhängigkeiten der Banking-App auf Swift Package Manager umgestellt und interne Teile in Swift Packages ausgelagert. Warum sich unsichtbare Arbeit lohnt.
Parallel zur elektronischen Patientenakte bei der TK habe ich im zweiten Halbjahr 2023 bei comdirect an etwas gearbeitet, das Nutzer nie zu sehen bekommen: an der Abhängigkeits- und Modulstruktur der Banking-App.
Warum umstellen?
CocoaPods war über viele Jahre der Standard, um Bibliotheken in iOS-Apps einzubinden. Swift Package Manager ist seit Xcode 11 direkt in Xcode eingebaut. Damit entfallen ein zusätzliches Werkzeug und ein generiertes Projekt neben dem eigentlichen, und Abhängigkeiten werden dort beschrieben, wo der Code lebt. Für eine Banking-App gilt: Je weniger bewegliche Teile in der Build-Kette stecken, desto weniger Überraschungen gibt es.
Schritt für Schritt
Eine solche Umstellung passiert nicht an einem Stück, sondern neben der laufenden Entwicklung:
- Drittanbieter-Abhängigkeiten migrieren. Ich habe die Bibliotheken von CocoaPods auf Swift Package Manager umgestellt und die Umstellung dokumentiert.
- Eigene Teile auslagern. Interne Ressourcen habe ich in Swift Packages ausgelagert. Das schafft klare Grenzen innerhalb der App.
- Jeden Schritt absichern. Unit- und UI-Tests und regelmäßige Code-Reviews im Scrum-Team haben dafür gesorgt, dass die App nach jedem Schritt so funktioniert wie vorher.
Aufräumen gehört dazu
Wer an der Struktur arbeitet, sieht auch, was liegen geblieben ist. Ich habe sicherheitskritischen Code optimiert, Refactorings umgesetzt, Fehler behoben und technische Schulden abgebaut. Das ist selten spektakulär, aber es macht die nächsten Features schneller.
Was ich mitnehme
- Infrastruktur ist ein Feature – für das Team. Kürzere Wege im Build und klare Module zahlen sich jeden Tag aus.
- Dokumentation gehört zur Migration. Eine Umstellung, die nur einer versteht, ist keine Umstellung.
- Kleine Schritte schlagen große Würfe. Jeder Schritt muss für sich lauffähig sein und durch Tests abgesichert werden.
Steht Ihre App auf einer gewachsenen Abhängigkeitsstruktur? Eine solche Modernisierung ist ein guter Einstieg in ein überschaubares Projekt – auch neben Ihrem Team.
Ein ähnliches Vorhaben? Anfragen werden in der Regel innerhalb von 24 Stunden beantwortet.
Projekt besprechen