How to fix legacy iOS apps: Architecture, MVVM, Core Data, DI, Polymorphism | Live Mentoring
/Need help fixing legacy iOS codebases? 🤔
Read MoreSkilled, disciplined and professional iOS software development resources tailored for you
Need help fixing legacy iOS codebases? 🤔
Read MoreIf you want to become a complete senior iOS developer, you need to know patterns for navigation in large modular iOS apps.
Read MoreLearn how to test reactive RxSwift or Combine code in practice and Model/ViewModel separation best practices to decouple business logic from presentation logic.
Read MoreLearn how to find, fix, and prevent Core Data concurrency issues, write thread-safe Core Data code using the NSManagedObjectContext APIs, strategies for sharing and mutating state between screens, and prevent merge conflicts in Xcode projects.
Read MoreLearn how to use the Fluent Builder Pattern to make illegal states unrepresentable in your iOS/Swift codebases.
Read MoreLearn how to apply dependency injection principles and patterns in practice - including UIKit and SwiftUI!
Read MoreLearn how to apply design principles and patterns in practice, including the SOLID principles and the Abstract Factory, Adapter, Strategy, and Dependency Injection patterns.
Read MoreLearn how to create scrollable content with SwiftUI's List view and how to implement a recursive navigation flow.
Read MoreLearn how to move logic out of SwiftUI views so you can test-drive it with fast and reliable unit tests.
Read MoreIn this episode, Caio replies to a question we received from Catalin in the private iOS Lead Essentials Slack community: “What are your thoughts regarding an architecture for adding analytics for a push notification event?”
Read MoreFirst-class iOS engineering with Empathy, Integrity, and Economics in mind. Skilled and disciplined training for iOS professionals and teams.
I've been writing software since 1998, professionally since 2006, and on Apple platforms since 2009. I love building robust, well-engineered, and beautiful applications and coaching developers to achieve their best potential.
I'm a software engineer from Athens, Greece. My goal is to help the software industry evolve by enabling developers and companies to practice valuable techniques and build powerful and durable systems.