Inside Skyscanner’s Massive iOS Codebase: De-coupling Dependencies with Inversion | SwiftHeroes 2024

Inside Skyscanner’s Massive iOS Codebase: De-coupling Dependencies with Inversion | SwiftHeroes 2024

3.449 Lượt nghe
Inside Skyscanner’s Massive iOS Codebase: De-coupling Dependencies with Inversion | SwiftHeroes 2024
🎟️ 2025 Edition 8-9 April, Turin: https://swiftheroes.com/2025/tickets/ ⏩ Chapter: 00:00 Intro 03:32 The problem to solve 08:45 Over time this has lead to… 10:14 The Goals 11:30 Dependency Inversion 16:20 Features - App Module 18:20 Feature Apps 22:37 Empower squads to autonomously develop 23:18 Dependency Mock Injection 27:00 Opportunities on CI 30:00 Learnings At Skyscanner we have a large iOS codebase that has been evolving for over 10 years. Until recently, the dependencies between modules stopped us from compiling any single module independently. With compilation times growing to 8-10 minutes per build, this was becoming a serious toil for our engineers and a new approach to our module architecture was desperately needed. This talk describes how the Skyscanner iOS team is using dependency inversion to break apart our dependency tree, decoupling features and enabling us to build each module independently. This reduces toil for common development tasks and is allowing us to make cost savings on our CI. The techniques described here enable any codebase to scale both the amount of code and the team size while keeping compilation times small. Projects of any size can benefit from decoupling features in this way, as using dependency inversion allows flexibility to change implementations without the need to change code in higher level parts of the project and embraces composition as the primary mechanism to extend functionality. 🎤 MICHAEL BALDOCK, Senior Engineer at Skyscanner 📍Swift Heroes 2024 was hosted in Turin, 18-19 April. Attended by 400 iOS developer participants and broadcast to an additional 200 Swift enthusiasts across the globe. The agenda covered a range of important iOS developer topics including SwiftUI, the composable architecture, accessibility, developer tools, testing and much more. All the other talks are coming out, don't miss them... 📌 For more engaging content and expert insights, subscribe to our channel and hit the notification bell. 🛎️ Inform: https://swiftheroes.com/ ✅ Tweet: https://twitter.com/swiftheroes_it ✅ Connect: https://www.linkedin.com/showcase/swift-heroes/ ✅ Read: https://telegram.me/swiftheroes #SwiftHeroes #iosdevelopment #DependencyInversion #SwiftArchitecture #DevProductivity #codescalability #SkyscannerTech #CIOptimization #ModuleDecoupling #iOSTeamwork