Migration strategies in large codebases
Strategies for managing complex, semantic code migrations in large, multi-team mobile codebases, focusing on coordination and tooling.
Scott Berrevoets is an iOS-focused software engineer with over a decade of experience building and scaling mobile platforms. Currently at Speak and formerly a long-time iOS tech lead at Lyft, he writes about iOS development, architecture, and mobile engineering.
36 articles from this blog
Strategies for managing complex, semantic code migrations in large, multi-team mobile codebases, focusing on coordination and tooling.
Discusses the importance of human factors like team onboarding, reversibility, and support when choosing software architectures and technologies.
A senior engineer at Lyft outlines the risks of using third-party libraries in production apps and proposes a framework for consistent risk assessment.
Lyft's iOS team details their journey from a monolithic Objective-C app to a modern, modular architecture to improve scalability and maintainability.
Explores a Swift compiler bug where re-binding 'self' in a weak closure breaks Xcode debugging, with historical context on weak/strong self patterns.
Lyft's iOS team shares their experience using Interface Builder at scale, addressing common criticisms and sharing custom tools for a better workflow.
Lyft engineers detail their approach to making the iOS app accessible, focusing on VoiceOver integration and UI improvements.
A guide to disabling NSLog in iOS/macOS apps to reduce console noise from third-party libraries, with code examples in Swift and Objective-C.
Explains when to use strong vs. weak and optional vs. implicitly unwrapped IBOutlets in Swift/iOS development, with practical rules.
Xcode 7 beta 4 fixes @objc class prefixes, allowing proper namespacing for Swift classes used in Objective-C.
A developer's experience with Apple's UIStackView, explaining how it simplifies complex UI layouts in iOS compared to traditional Auto Layout.
A developer discovers and documents a bug in Xcode where the @objc attribute fails to create the correct class name for Swift classes used in Objective-C.
Proposes a 'dev-only iPhone' concept to reduce costs for iOS developers needing multiple devices for testing different OS versions and configurations.
A developer's deep dive into debugging an unexpected UIMenuController behavior in iOS, revealing intricacies of the responder chain and canPerformAction.
A developer shares amusing and obscure quirks found in Xcode, Objective-C, and Apple's private iOS frameworks, including oddly named constants and gesture recognizers.
Discusses Apple's removal of class prefix encouragement in Objective-C projects and the implications for iOS developers.