SlideShare ist ein Scribd-Unternehmen logo
1 von 10
App Project Planning
By Apple
Franco Cedillo
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
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
1.Building an Interface
Write down each type
Properties
Methods
Flexibility is key at this stage
2. Do your Research
Primary Purpose
Features that you don’t know how to build
RAT 1st
Switching up your feature set
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
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
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
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?
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.

Weitere ähnliche Inhalte

Ähnlich wie App Project Planning, by Apple

Code Camp 06 Model View Presenter Architecture
Code Camp 06   Model View Presenter ArchitectureCode Camp 06   Model View Presenter Architecture
Code Camp 06 Model View Presenter Architecturebitburner93
 
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and TricksIBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and TricksSenturus
 
Getting Started with Zend Framework
Getting Started with Zend FrameworkGetting Started with Zend Framework
Getting Started with Zend FrameworkJuan Antonio
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCAnton Krasnoshchok
 
Session 7 - Overview of the iOS7 app development architecture
Session 7 - Overview of the iOS7 app development architectureSession 7 - Overview of the iOS7 app development architecture
Session 7 - Overview of the iOS7 app development architectureVu Tran Lam
 
Anshulika Verma_p.pptx
Anshulika Verma_p.pptxAnshulika Verma_p.pptx
Anshulika Verma_p.pptxssusere56526
 
Cetas - Application Development Services
Cetas - Application Development ServicesCetas - Application Development Services
Cetas - Application Development ServicesKabilan D
 
Better User Experience with .NET
Better User Experience with .NETBetter User Experience with .NET
Better User Experience with .NETPeter Gfader
 
Angular2 with type script
Angular2 with type scriptAngular2 with type script
Angular2 with type scriptRavi Mone
 
Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013Thomas Robbins
 
Codeigniter simple explanation
Codeigniter simple explanation Codeigniter simple explanation
Codeigniter simple explanation Arumugam P
 
Introduction to j2 ee frameworks
Introduction to j2 ee frameworksIntroduction to j2 ee frameworks
Introduction to j2 ee frameworksMukesh Kumar
 
AspMVC4 start101
AspMVC4 start101AspMVC4 start101
AspMVC4 start101Rich Helton
 

Ähnlich wie App Project Planning, by Apple (20)

Code Camp 06 Model View Presenter Architecture
Code Camp 06   Model View Presenter ArchitectureCode Camp 06   Model View Presenter Architecture
Code Camp 06 Model View Presenter Architecture
 
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and TricksIBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
 
Getting Started with Zend Framework
Getting Started with Zend FrameworkGetting Started with Zend Framework
Getting Started with Zend Framework
 
Mvc summary
Mvc summaryMvc summary
Mvc summary
 
Building richwebapplicationsusingasp
Building richwebapplicationsusingaspBuilding richwebapplicationsusingasp
Building richwebapplicationsusingasp
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVC
 
Session 7 - Overview of the iOS7 app development architecture
Session 7 - Overview of the iOS7 app development architectureSession 7 - Overview of the iOS7 app development architecture
Session 7 - Overview of the iOS7 app development architecture
 
Anshulika Verma_p.pptx
Anshulika Verma_p.pptxAnshulika Verma_p.pptx
Anshulika Verma_p.pptx
 
Cetas - Application Development Services
Cetas - Application Development ServicesCetas - Application Development Services
Cetas - Application Development Services
 
Spring boot
Spring bootSpring boot
Spring boot
 
Ch10
Ch10Ch10
Ch10
 
Ch10
Ch10Ch10
Ch10
 
software Design.ppt
software Design.pptsoftware Design.ppt
software Design.ppt
 
Better User Experience with .NET
Better User Experience with .NETBetter User Experience with .NET
Better User Experience with .NET
 
Angular2 with type script
Angular2 with type scriptAngular2 with type script
Angular2 with type script
 
Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013
 
Codeigniter simple explanation
Codeigniter simple explanation Codeigniter simple explanation
Codeigniter simple explanation
 
Introduction to j2 ee frameworks
Introduction to j2 ee frameworksIntroduction to j2 ee frameworks
Introduction to j2 ee frameworks
 
AspMVC4 start101
AspMVC4 start101AspMVC4 start101
AspMVC4 start101
 
MVC 4
MVC 4MVC 4
MVC 4
 

Mehr von Franco Cedillo

¿Cuáles son las apps que más se usan durante la cuarentena?
¿Cuáles son las apps que más se usan durante la cuarentena?¿Cuáles son las apps que más se usan durante la cuarentena?
¿Cuáles son las apps que más se usan durante la cuarentena?Franco Cedillo
 
¿Cuándo hacer y cuándo no hacer un app?
¿Cuándo hacer y cuándo no hacer un app?¿Cuándo hacer y cuándo no hacer un app?
¿Cuándo hacer y cuándo no hacer un app?Franco Cedillo
 
¿Cuánto cuesta hacer un app?
¿Cuánto cuesta hacer un app?¿Cuánto cuesta hacer un app?
¿Cuánto cuesta hacer un app?Franco Cedillo
 
Unit 1 - Getting Started with App Development
Unit 1 - Getting Started with App DevelopmentUnit 1 - Getting Started with App Development
Unit 1 - Getting Started with App DevelopmentFranco Cedillo
 
Prototyping Apps for Real People, by Apple
Prototyping Apps for Real People, by ApplePrototyping Apps for Real People, by Apple
Prototyping Apps for Real People, by AppleFranco Cedillo
 
Human Interface Guidelines for iOS, by Apple
Human Interface Guidelines for iOS, by AppleHuman Interface Guidelines for iOS, by Apple
Human Interface Guidelines for iOS, by AppleFranco Cedillo
 
App Development with Swift, by Apple
App Development with Swift, by AppleApp Development with Swift, by Apple
App Development with Swift, by AppleFranco Cedillo
 
CIARP 2016 at Data Science Lima
CIARP 2016 at Data Science LimaCIARP 2016 at Data Science Lima
CIARP 2016 at Data Science LimaFranco Cedillo
 
Aplicaciones de Machine Learning @ hackspace.pe
Aplicaciones de Machine Learning @ hackspace.peAplicaciones de Machine Learning @ hackspace.pe
Aplicaciones de Machine Learning @ hackspace.peFranco Cedillo
 
Magento experiencias y tips
Magento experiencias y tipsMagento experiencias y tips
Magento experiencias y tipsFranco Cedillo
 
Migrando un módulo Field Formatter a Drupal 8
Migrando un módulo Field Formatter a Drupal 8Migrando un módulo Field Formatter a Drupal 8
Migrando un módulo Field Formatter a Drupal 8Franco Cedillo
 
El Contenido es La Princesa
El Contenido es La PrincesaEl Contenido es La Princesa
El Contenido es La PrincesaFranco Cedillo
 
Parches en Drupal - Creación y Aplicación
Parches en Drupal - Creación y AplicaciónParches en Drupal - Creación y Aplicación
Parches en Drupal - Creación y AplicaciónFranco Cedillo
 
Gratificante Experiencia Drupalera
Gratificante Experiencia DrupaleraGratificante Experiencia Drupalera
Gratificante Experiencia DrupaleraFranco Cedillo
 

Mehr von Franco Cedillo (20)

¿Cuáles son las apps que más se usan durante la cuarentena?
¿Cuáles son las apps que más se usan durante la cuarentena?¿Cuáles son las apps que más se usan durante la cuarentena?
¿Cuáles son las apps que más se usan durante la cuarentena?
 
Éxito en las apps
Éxito en las appsÉxito en las apps
Éxito en las apps
 
¿Cuándo hacer y cuándo no hacer un app?
¿Cuándo hacer y cuándo no hacer un app?¿Cuándo hacer y cuándo no hacer un app?
¿Cuándo hacer y cuándo no hacer un app?
 
¿Cuánto cuesta hacer un app?
¿Cuánto cuesta hacer un app?¿Cuánto cuesta hacer un app?
¿Cuánto cuesta hacer un app?
 
Unit 1 - Getting Started with App Development
Unit 1 - Getting Started with App DevelopmentUnit 1 - Getting Started with App Development
Unit 1 - Getting Started with App Development
 
Prototyping Apps for Real People, by Apple
Prototyping Apps for Real People, by ApplePrototyping Apps for Real People, by Apple
Prototyping Apps for Real People, by Apple
 
Human Interface Guidelines for iOS, by Apple
Human Interface Guidelines for iOS, by AppleHuman Interface Guidelines for iOS, by Apple
Human Interface Guidelines for iOS, by Apple
 
App Development with Swift, by Apple
App Development with Swift, by AppleApp Development with Swift, by Apple
App Development with Swift, by Apple
 
CIARP 2016 at Data Science Lima
CIARP 2016 at Data Science LimaCIARP 2016 at Data Science Lima
CIARP 2016 at Data Science Lima
 
Aplicaciones de Machine Learning @ hackspace.pe
Aplicaciones de Machine Learning @ hackspace.peAplicaciones de Machine Learning @ hackspace.pe
Aplicaciones de Machine Learning @ hackspace.pe
 
Bias vs Variance
Bias vs VarianceBias vs Variance
Bias vs Variance
 
Magento experiencias y tips
Magento experiencias y tipsMagento experiencias y tips
Magento experiencias y tips
 
Smartphones
SmartphonesSmartphones
Smartphones
 
Migrando un módulo Field Formatter a Drupal 8
Migrando un módulo Field Formatter a Drupal 8Migrando un módulo Field Formatter a Drupal 8
Migrando un módulo Field Formatter a Drupal 8
 
El Contenido es La Princesa
El Contenido es La PrincesaEl Contenido es La Princesa
El Contenido es La Princesa
 
Parches en Drupal - Creación y Aplicación
Parches en Drupal - Creación y AplicaciónParches en Drupal - Creación y Aplicación
Parches en Drupal - Creación y Aplicación
 
Gratificante Experiencia Drupalera
Gratificante Experiencia DrupaleraGratificante Experiencia Drupalera
Gratificante Experiencia Drupalera
 
SmartPhones
SmartPhonesSmartPhones
SmartPhones
 
Semana del Chilcano
Semana del ChilcanoSemana del Chilcano
Semana del Chilcano
 
Tesis Foss
Tesis FossTesis Foss
Tesis Foss
 

App Project Planning, by Apple

  • 1. App Project Planning By Apple Franco Cedillo
  • 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
  • 4. 1.Building an Interface Write down each type Properties Methods Flexibility is key at this stage
  • 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.