Many companies and independent developers face an issue as their apps and teams grow. It usually starts as a single application, with all the sources and resources as a single bundle packaging it all. Add to that equation app extensions, the need to have more apps sharing the same code, multiple git repositories, multiple developers, a growing Xcode project file, longer build times... Now you have the recipe for the perfect iOS developer headache!
This talk discusses 5 common challenges many companies and developers face when scaling their codebase and team, as well as our approach at Houzz:
1. Xcode Project Management
2. Build Times
3. Reusing Code
4. Modularization
5. Maintenance & Automation
Some useful, related, and discussed links:
Xcode Project Management:
Tuist, XcodeGen, Xcake, Bazel and Buck.
Build Times:
XCLogParser by Spotify
Modularization:
- Swift Rocks: Reducing iOS Build Times by Using Interface Targets by Bruno Rocha.
- RouterService
Maintenance & Automation:
- Swift Argument Parser
- Prism by Gett Engineering
- SwiftGen
- Danger