follow the PR template: • Screenshots / Gifs • What it Does • How to Test • Notes • Assigned, reviewed, and merged in a timely manner • Branches are deleted post-merge Development: Pull Requests Mobile Onboarding Laura Ragone & Michael Pace
of Concerns • Prefer protocols to classes for abstraction • Prefer value types to reference types when identity is irrelevant • Restrict access control and prefer immutability to mutability when possible • Prefer Interface Builder-based approaches to programmatically created UI Architecture: Our Key Values (other than dictionaries) Mobile Onboarding Laura Ragone & Michael Pace
Control behaviors, leaving the details of view presentation to view models • Use view controller containment when applicable to prevent single view controllers from growing too large Architecture: View Controllers Mobile Onboarding Laura Ragone & Michael Pace
• Pull to refresh • Pagination • Handling delegate callbacks & performing actions • Presenting or dismissing other controllers Architecture: View Controllers Mobile Onboarding Laura Ragone & Michael Pace
configuration • (i.e.: transforming model data, setting the view model) • Initiating delegate callbacks from cell actions Architecture: Cell Creators Mobile Onboarding Laura Ragone & Michael Pace
web service • Backing information • Computed properties are tested • Currently fragmented to circumvent persistence issues (i.e: stomping) Architecture: Models Mobile Onboarding Laura Ragone & Michael Pace
a particular kind of view • Simple structs • Supported by translator objects • Translators are tested Architecture: View Models Mobile Onboarding Laura Ragone & Michael Pace
requests • Notifying callers about successes and failures via closures • Get tested Architecture: Updaters Mobile Onboarding Laura Ragone & Michael Pace
away from Alamofire’s default chainable request implementation • Manages the underlying networking mechanism Architecture: Network Controller Mobile Onboarding Laura Ragone & Michael Pace
views • Deep Links: meetup://* • Universal Links: http://www.meetup.com/* Notable Systems: Deep Link Handlers Mobile Onboarding Laura Ragone & Michael Pace