iOS App Development: Design Patterns for Mobile Architecture
1h 53mBeginner2017-06-27
Authors

Jon Bott
Senior iOS Developer at Ancestry.com, Training Consultant
Course details
Developers need to know how to minimize app complexity and maximize scalability. Good architectural planning—founded on established design patterns—is the key to solid code. This course provides an overview of the different architectural models and design patterns used to simplify enterprise applications. Learn how to audit an app and transition from MVC to a layered architecture, using models such as MVP, MVVM, VIPER, and MVA (minimum viable architecture). Instructor Jon Bott introduces the dependency injection pattern (for decoupling layers), the coordinator pattern (for managing application flow), and data binding with RxSwift.
Learning objectives
Moving pieces of architecture
Designing an MVA app
Walking through a demo application
Converting to MVP
Moving non-view logic to a presenter
Breaking logic into layers
Using entities
Setting up dependency injection
Implementing the coordination pattern
Adding data binding with RxSwift
Learning objectives
Moving pieces of architecture
Designing an MVA app
Walking through a demo application
Converting to MVP
Moving non-view logic to a presenter
Breaking logic into layers
Using entities
Setting up dependency injection
Implementing the coordination pattern
Adding data binding with RxSwift
Skills covered
Mac OSiOS DevelopmentiOSMobile DevelopmentAppleDeep Dive (X:Y)
Concepts
0. Introduction
- 01 - Welcome
- 02 - What you should know
- 03 - How to use the exercise files
1. Moving Pieces of Architecture
- 04 - Why architecture
- 05 - Architecture pieces
- 06 - Common architectures
- 07 - MVA (mininimum viable architecture)
- 08 - Common architectures comparison
2. Demo Application Walkthrough
- 09 - UI overview
- 10 - Code overview
- 11 - Load data
3. Convert to MVP
- 12 - Create presenter
- 13 - Create presenter, part 2
- 14 - Create presenter, part 3
- 15 - Create presenter, part 4
4. Expand Layers
- 16 - Expand layers
- 17 - Expand layers, part 2
- 18 - Entities
5. Dependency Injection
- 19 - Swinject overview
- 20 - Swinject storyboard
- 21 - Presenter conversion
- 22 - Presenter conversion, part 2
- 23 - Protocol injection
6. Navigation Coordinators
- 24 - Coordinator walkthrough
- 25 - Wire into Swinject and app delegate
- 26 - Presenter to coordinator communication
7. Data Binding
- 27 - RxSwift observables
- 28 - RxCocoa data binding
Conclusion
- 29 - Next steps
Related courses
- Learning Computer Security and Internet Safety
- Working Across Mac, PC, and Mobile Devices
- Supply Chain Foundations
- Learning Computer Security and Internet Safety (2022)
- Monday Productivity Pointers
- Apple Certified Support Professional macOS 11 Cert Prep: 6 Troubleshooting and Support
- Apple Certified Support Professional macOS 11 Cert Prep: 5 Networking
- Apple Certified Support Professional macOS 11 Cert Prep: 4 Applications and Processes