iOS App Architecture: When and how to create a shared UI module | Live Dev Mentoring
/"Should I extract my code into reusable components to avoid duplication?"
Read MoreSkilled, disciplined and professional iOS software development resources tailored for you
"Should I extract my code into reusable components to avoid duplication?"
Read MoreiOS app navigation can lead to high coupling between features. Have you ever wondered how senior iOS devs handle navigation in large modular apps?
Read MoreTo become a complete senior iOS developer, you need to learn how to get the maximum value from UI patterns such as MVVM.
Read MoreIt's easy to get away with inefficient code when dealing with small iOS apps manipulating small amounts of data. But to become a complete Senior iOS Developer, you need to also be able to handle LARGE data sets in your iOS apps.
And that's where optimizations become essential.
Read MoreLearn why there are so many variations of UI patterns and how to understand & choose between MVC, MVVM, and MVP for your iOS apps.
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 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.