Introduction
The value in architecting your apps
()
What you should know
()
1. UML Basics
A brief introduction to UML
()
The use case diagram
()
The class diagram
()
The sequence diagram
()
2. The iOS App Life Cycle
The app launch sequence
()
Walking through the launch sequence
()
App state preservation
()
App state restoration
()
The main run loop
()
Subclassing UI application
()
3. Fundamental Architectural Design Patterns
Introduction to fundamental architectural design patterns
()
The model-view-controller
()
The model-view-presenter
()
MVP example
()
Refactoring to MVP: Model
()
Refactoring to MVP: Presenter
()
Refactoring to MVP: View controller
()
The Model-View-ViewModel pattern
()
Implementing one-way binding, part 1
()
Implementing one-way binding, part 2
()
4. App State Transitions
The app delegate
()
App state changes
()
Demo: Define the states
()
Demo: Instrument delegate calls
()
5. Building Responsive Apps
The main UI thread
()
Concurrency
()
Moving work off the main thread
()
Custom concurrent queues
()
Deadlocks
()
6. The SOLID Principles
Introduction to the SOLID principles
()
Single responsibility
()
The open/closed principle
()
Liskov substitution
()
Interface segregation
()
Dependency inversion
()
7. Communication between Apps
URL scheme-based communication
()
Calling an app from another app
()
URL scheme whitelist
()
Passing parameters between apps
()
Display the message, part 1
()
Display the message, part 2
()
AirDrop
()
8. Efficiency and Performance
Respond to memory warnings via delegates
()
Dispatch source memory pressure
()
Optimizing for performance
()
Analyze your app using Instruments
()
Ex_Files_iOS_Dev_Architecture.zip
(3.3 MB)