Enterprise software
Migrating a long-running Objective-C app to Swift
How a team could convert a large legacy codebase module by module while the app keeps shipping.
Illustrative example. This describes a common mobile challenge and an approach Dragonfly consultants could take. It is not a client engagement and does not report real results.
The challenge
The app has more than a decade of Objective-C code. Feature work slowed because engineers were hesitant to change core modules without tests.
The approach
- Build a migration plan that starts with low-risk modules such as models and utilities.
- Write characterization tests around each module before converting it.
- Convert one class at a time and run the full test suite on every change.
- Track progress in a shared migration log that product and engineering both review.
What success would look like
A codebase the team can change with confidence, with each migration step shipped to users without a disruptive rewrite.
Want to see how this would apply to your product? Tell us about your project.