How to plan the classes and methods your app will need to meet a specific feature set
How to plan the classes and methods your app will need based on how the data will be created and stored
- Building an Interface
- Do your Research
- Define the Model
- Define Views and View Controllers
- Define Model or Helper Controllers
- Check Against your Feature List
- Build your Project Plan
2. Need to know...
How to plan the classes and methods your app will need to meet a specific
feature set
How to plan the classes and methods your app will need based on how the
data will be created and stored
3. Blocks
1. Building an Interface
2. Do your Research
3. Define the Model
4. Define Views and View Controllers
5. Define Model or Helper Controllers
6. Check Against your Feature List
7. Build your Project Plan
5. 2. Do your Research
Primary Purpose
Features that you don’t know how to build
RAT 1st
Switching up your feature set
6. 3. Define the Model
Data capture/display
Primary types?
User inputs?
Data to display?
Where will the app get the data?
APis/Frameworks will the app access
Data Relations
Persistence
Order -> Customer
Customer -> Order
Helpers for Persistence
Querying relationships
7. 4. Define Views and View Controllers
Workflow
Navigation hierarchy
Workflow provide access to every
feature?
View objects to use in each Scene
Model objects for each Scene.
List/Detail
Configure/updateUI
fetching/saving -> specific view
controller
Basic interface for each Viewcontroller
(1)Helpers for ViewControllers
(2)Properties for Model Objects
(1) and (2) to keep interface updated
correctly
8. 5. Define Model or Helper Controllers
Model Controllers
Keep track of model data
Persistence
Network requests
Helper Controllers
Avoid packing too much code into
ViewControllers
Functionality required by multiple
VCs
Identifying
Persistence or other repeated tasks to
a model controller
Task require complex code that better
abstracted into helper controller
Other pieces of Logic, broken in
chunks in separate controllers
9. 6. Check against your Feature list
Have you considered all the code you'll need to write for each step?
Does your architecture plan reflect each feature?
10. 7. Build your Project Plan
1. Build out the workflows or navigation hierarchy
2. Implement Model definitions and enter sample data
3. Build the View hierarchies for each Scene
4. Implement the View Controllers and wire the interface to the sample data
5. Implement Model and Helper controllers
6. Update the View Controllers to create or use real data instead of sample
data
7. Polish the Visual Design: colors, typography, animations.