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.

← Back to all examples

Have a similar challenge?

Start a project