This document discusses iOS development best practices from an experienced iOS team. It covers topics like workflows using Git Flow, feature branches and code reviews. It also discusses testing, specifications, architecture patterns like MVC, VIPER and Light View Controllers. Planning advice is provided for timeframes of 1 month, 3 months, 6 months and beyond. Recommended tools include Git, GitLab, Xcode, CocoaPods and others. References are included for further reading.
9. How to make reviewers life harder
? large commits
? reformatting of code
? lots of refactoring
? omit issue number when committing
http://kaczanowscy.pl/tomek/sites/default/?les/2012_code_reviews.png
20. Light View Controllers
? Move Domain Logic into the Model
? Move View Code into the View Layer
? Separate Out Data Source and Other Protocols
? Creating the Store Class
? Move Web Service Logic to the Model Layer
? Communication
http://www.objc.io/issues/1-view-controllers/lighter-view-controllers/
24. VIPER Checklist
? Views and view controllers receive user interactions and pass
them to Presenters for decision making
? Presenters contain the view logics and prepare content for display
and reacting to user inputs
? Presenters should not know about the existence of all UIViews
? Interactors contain business logics and they should be
independent of UI
? Entities are model objects only manipulated by Interactors
? Wireframe is the only place to de?ne screen navigations and their
transition animations
25. Bene?ts of VIPER
? Easy to iterate on
? Collaboration friendly
? Separated out concerns
? Spec-ability
? Vipergen