SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Andrew Kozlik
@codefortravel
Two Paths
 Hire someone to do the work
 Do the work yourself (fun!)
Hiring Someone Else
 Elance
 Odesk
 Craigslist
 This Meetup!
Freelancer Follies
 Communicate Efficiently
 Provide wireframes or design
 Communicate
 Test often
 Communicate
 Manage Your Project
Communication
 Leave nothing to interpretation
 Be mindful of language gaps and timezones
 Communicate early and communicate often
 Ensure code is committed to git so you have
access
 Be as clear as possible about what you want
 Your failure to communicate can break your
project
Wireframe Applications
 Omnigraffle
 Photoshop
 Balsamiq
 iOS app POP
Test Often
 Require weekly progress review
 Use a tool like TestFlight
 Identify problems while they’re small
 Make sure everyone’s on the same page
Manage Your Project
 Use a tool like Codebase for tracking bugs
 Use a tool like Basecamp to manage the
project and deadlines
 Require that all communication be within
your PM software
 Seriously, don’t use e-mail.
 Be actively involved!
Develop Yourself!
 Relatively easy to get started
 Resources for learning
 Important topics to focus on
 Launching an application
Requirements for Starting
 You need a Mac
 Doesn’t need to be top of the line
 I started on a 2008 Macbook Pro
 Xcode 4
 IDE for developing applications (Eclipse sucks)
 Your brain
 You’re gonna have to think
 PATIENCE
 This stuff’s hard at first. Stick with it.
Your Mac
 Find something no later than 2008.
 Macbook Pro, Mac Mini, iMac, Macbook
Air
 Buy used if you don’t want to buy new
 Yes, Macs are expensive. 
 But they’re worth it! 
 You must pay $99 for a developer license
to build on a device
Xcode 4
 Available free on the Mac App Store
 Just search for Xcode and you’ll find it
Your Brain
 It helps to know how to program.
 If you don’t know what encapsulation is,
you’re gonna have a bad time.
 If you don’t know how to program, go
through some lessons on
cprogramming.com
PATIENCE
 Hardest requirement to acquire
 This stuff can be difficult. It’s also
frustrating. It does get better.
 Start small and build on top of what
you’ve learned
Resources
 The Internet!
 www.raywenderlich.com
 www.stackoverflow.com
 www.apple.com
 Books
 iOS Programming – Big Nerd Ranch Guide
 Beginning iPhone Development
 Programming in Objective-C
Topics to Focus On
 Model-View-Controller (MVC)
 Application lifecycle
 Protocols/Delegation
 Interface Builder
 Storyboards may make learning easier at
first
Launching an Application
 Learn about provisioning
 Prepare your icons, launch background
 Set up application on iTunes Connect
 Publish application through the app store
 Large topic, could justify its own
presentation
Questions?

Mais conteúdo relacionado

Mais procurados

Output devices 2 lessons
Output devices 2 lessonsOutput devices 2 lessons
Output devices 2 lessonsJimmy Edwards
 
5 Essential Tips For Improving Your Website Mockups & Prototypes!
5 Essential Tips For Improving Your Website Mockups & Prototypes!5 Essential Tips For Improving Your Website Mockups & Prototypes!
5 Essential Tips For Improving Your Website Mockups & Prototypes!Usersnap
 
Starting with JavaScript
Starting with JavaScriptStarting with JavaScript
Starting with JavaScriptDori Smith
 
Introducing CS students to open source
Introducing CS students to open sourceIntroducing CS students to open source
Introducing CS students to open sourceAll Things Open
 
CPP01 - Introduction to C++
CPP01 - Introduction to C++CPP01 - Introduction to C++
CPP01 - Introduction to C++Michael Heron
 
Good developers vs bad developers
Good developers vs bad developersGood developers vs bad developers
Good developers vs bad developersOusman L. Kallay
 
Lean responsive - Expanded
Lean responsive - ExpandedLean responsive - Expanded
Lean responsive - ExpandedJosh Jeffryes
 
Most valuable software design principles
Most valuable software design principlesMost valuable software design principles
Most valuable software design principlesJeroen Hildering
 
Freelance symfony framework
Freelance symfony frameworkFreelance symfony framework
Freelance symfony frameworkanikanielsen
 
Brain Sketching
Brain SketchingBrain Sketching
Brain SketchingRob Keefer
 
Recipes for successful CakePHP projects
Recipes for successful CakePHP projectsRecipes for successful CakePHP projects
Recipes for successful CakePHP projectsPierre MARTIN
 
Digital content leading practice _webconference
Digital content leading practice _webconferenceDigital content leading practice _webconference
Digital content leading practice _webconferenceColleen Hodgins
 
How To Use Youtube To Market Your Business
How To Use Youtube To Market Your BusinessHow To Use Youtube To Market Your Business
How To Use Youtube To Market Your BusinessLeslie Samuel
 
Evaluation question 6
Evaluation question 6Evaluation question 6
Evaluation question 6Sam Benzie
 
Learn, Code, and Teach Model
Learn, Code, and Teach ModelLearn, Code, and Teach Model
Learn, Code, and Teach ModelYahmis Yahaya
 

Mais procurados (20)

Question 6
Question 6Question 6
Question 6
 
Output devices 2 lessons
Output devices 2 lessonsOutput devices 2 lessons
Output devices 2 lessons
 
5 Essential Tips For Improving Your Website Mockups & Prototypes!
5 Essential Tips For Improving Your Website Mockups & Prototypes!5 Essential Tips For Improving Your Website Mockups & Prototypes!
5 Essential Tips For Improving Your Website Mockups & Prototypes!
 
Starting with JavaScript
Starting with JavaScriptStarting with JavaScript
Starting with JavaScript
 
Introducing CS students to open source
Introducing CS students to open sourceIntroducing CS students to open source
Introducing CS students to open source
 
CPP01 - Introduction to C++
CPP01 - Introduction to C++CPP01 - Introduction to C++
CPP01 - Introduction to C++
 
Good developers vs bad developers
Good developers vs bad developersGood developers vs bad developers
Good developers vs bad developers
 
L20 Agile Principles
L20 Agile PrinciplesL20 Agile Principles
L20 Agile Principles
 
Lean responsive - Expanded
Lean responsive - ExpandedLean responsive - Expanded
Lean responsive - Expanded
 
Most valuable software design principles
Most valuable software design principlesMost valuable software design principles
Most valuable software design principles
 
20 percent tips
20 percent tips20 percent tips
20 percent tips
 
Freelance symfony framework
Freelance symfony frameworkFreelance symfony framework
Freelance symfony framework
 
Brain Sketching
Brain SketchingBrain Sketching
Brain Sketching
 
Recipes for successful CakePHP projects
Recipes for successful CakePHP projectsRecipes for successful CakePHP projects
Recipes for successful CakePHP projects
 
Digital content leading practice _webconference
Digital content leading practice _webconferenceDigital content leading practice _webconference
Digital content leading practice _webconference
 
How To Use Youtube To Market Your Business
How To Use Youtube To Market Your BusinessHow To Use Youtube To Market Your Business
How To Use Youtube To Market Your Business
 
Evaluation question 6
Evaluation question 6Evaluation question 6
Evaluation question 6
 
Pair Programming
Pair ProgrammingPair Programming
Pair Programming
 
Learn, Code, and Teach Model
Learn, Code, and Teach ModelLearn, Code, and Teach Model
Learn, Code, and Teach Model
 
Failfast
FailfastFailfast
Failfast
 

Semelhante a How to start developing iOS apps

How To Become A Good C# Programmer
How To Become A Good C# ProgrammerHow To Become A Good C# Programmer
How To Become A Good C# ProgrammerLearnItFirst.com
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsSteven Smith
 
UX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your projectUX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your projectCharlotte Breton Schreiner
 
10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programming10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programmingHugo Shi
 
How to become a software developer
How to become a software developerHow to become a software developer
How to become a software developerEyob Lube
 
Android Developer Training
Android Developer TrainingAndroid Developer Training
Android Developer Trainingfaizrashid1995
 
Surviving the technical interview
Surviving the technical interviewSurviving the technical interview
Surviving the technical interviewEric Brooke
 
Shortcut in learning iOS
Shortcut in learning iOSShortcut in learning iOS
Shortcut in learning iOSJoey Rigor
 
30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbookGabriel Paunescu 🤖
 
iPads in the Early Years Classroom
iPads in the Early Years ClassroomiPads in the Early Years Classroom
iPads in the Early Years Classroomkarlaholt
 
iPads in the Elementary LA Classroom
iPads in the Elementary LA ClassroomiPads in the Elementary LA Classroom
iPads in the Elementary LA Classroomkarlaholt
 
How to learn programming for begineers!
How to learn programming for begineers!How to learn programming for begineers!
How to learn programming for begineers!Aman Kumar
 
10 Code Anti-Patterns to Avoid in Software Development.pdf
10 Code Anti-Patterns to Avoid in Software Development.pdf10 Code Anti-Patterns to Avoid in Software Development.pdf
10 Code Anti-Patterns to Avoid in Software Development.pdfAhmed Salama
 
Compose Camp session 2.pptx.pdf
Compose Camp session 2.pptx.pdfCompose Camp session 2.pptx.pdf
Compose Camp session 2.pptx.pdfDhruv675089
 
Intro to programming and how to start that career
Intro to programming and how to start that careerIntro to programming and how to start that career
Intro to programming and how to start that careerTarek Alabd
 
Enterprise ipad Development with notes
Enterprise ipad Development with notesEnterprise ipad Development with notes
Enterprise ipad Development with notesjaxarcsig
 

Semelhante a How to start developing iOS apps (20)

How To Become A Good C# Programmer
How To Become A Good C# ProgrammerHow To Become A Good C# Programmer
How To Become A Good C# Programmer
 
TxJS 2011
TxJS 2011TxJS 2011
TxJS 2011
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patterns
 
UX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your projectUX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your project
 
10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programming10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programming
 
Php rules
Php rulesPhp rules
Php rules
 
How to become a software developer
How to become a software developerHow to become a software developer
How to become a software developer
 
Php rules
Php rulesPhp rules
Php rules
 
Android Developer Training
Android Developer TrainingAndroid Developer Training
Android Developer Training
 
Surviving the technical interview
Surviving the technical interviewSurviving the technical interview
Surviving the technical interview
 
Shortcut in learning iOS
Shortcut in learning iOSShortcut in learning iOS
Shortcut in learning iOS
 
Business 1
 Business 1 Business 1
Business 1
 
30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook
 
iPads in the Early Years Classroom
iPads in the Early Years ClassroomiPads in the Early Years Classroom
iPads in the Early Years Classroom
 
iPads in the Elementary LA Classroom
iPads in the Elementary LA ClassroomiPads in the Elementary LA Classroom
iPads in the Elementary LA Classroom
 
How to learn programming for begineers!
How to learn programming for begineers!How to learn programming for begineers!
How to learn programming for begineers!
 
10 Code Anti-Patterns to Avoid in Software Development.pdf
10 Code Anti-Patterns to Avoid in Software Development.pdf10 Code Anti-Patterns to Avoid in Software Development.pdf
10 Code Anti-Patterns to Avoid in Software Development.pdf
 
Compose Camp session 2.pptx.pdf
Compose Camp session 2.pptx.pdfCompose Camp session 2.pptx.pdf
Compose Camp session 2.pptx.pdf
 
Intro to programming and how to start that career
Intro to programming and how to start that careerIntro to programming and how to start that career
Intro to programming and how to start that career
 
Enterprise ipad Development with notes
Enterprise ipad Development with notesEnterprise ipad Development with notes
Enterprise ipad Development with notes
 

Mais de Andrew Kozlik

Slack Development and You
Slack Development and YouSlack Development and You
Slack Development and YouAndrew Kozlik
 
3D Touch Implementation for Shortcuts and Peek/Pop Functionality
3D Touch Implementation for Shortcuts and Peek/Pop Functionality3D Touch Implementation for Shortcuts and Peek/Pop Functionality
3D Touch Implementation for Shortcuts and Peek/Pop FunctionalityAndrew Kozlik
 
Leveraging parse.com for Speedy Development
Leveraging parse.com for Speedy DevelopmentLeveraging parse.com for Speedy Development
Leveraging parse.com for Speedy DevelopmentAndrew Kozlik
 
Core data orlando i os dev group
Core data   orlando i os dev groupCore data   orlando i os dev group
Core data orlando i os dev groupAndrew Kozlik
 
Last Ace of Space Postmortem
Last Ace of Space PostmortemLast Ace of Space Postmortem
Last Ace of Space PostmortemAndrew Kozlik
 
Generating revenue with AdMob
Generating revenue with AdMobGenerating revenue with AdMob
Generating revenue with AdMobAndrew Kozlik
 

Mais de Andrew Kozlik (7)

Slack Development and You
Slack Development and YouSlack Development and You
Slack Development and You
 
3D Touch Implementation for Shortcuts and Peek/Pop Functionality
3D Touch Implementation for Shortcuts and Peek/Pop Functionality3D Touch Implementation for Shortcuts and Peek/Pop Functionality
3D Touch Implementation for Shortcuts and Peek/Pop Functionality
 
Leveraging parse.com for Speedy Development
Leveraging parse.com for Speedy DevelopmentLeveraging parse.com for Speedy Development
Leveraging parse.com for Speedy Development
 
Core data orlando i os dev group
Core data   orlando i os dev groupCore data   orlando i os dev group
Core data orlando i os dev group
 
Mwyf presentation
Mwyf presentationMwyf presentation
Mwyf presentation
 
Last Ace of Space Postmortem
Last Ace of Space PostmortemLast Ace of Space Postmortem
Last Ace of Space Postmortem
 
Generating revenue with AdMob
Generating revenue with AdMobGenerating revenue with AdMob
Generating revenue with AdMob
 

Último

Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 

Último (20)

Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 

How to start developing iOS apps

  • 2. Two Paths  Hire someone to do the work  Do the work yourself (fun!)
  • 3. Hiring Someone Else  Elance  Odesk  Craigslist  This Meetup!
  • 4. Freelancer Follies  Communicate Efficiently  Provide wireframes or design  Communicate  Test often  Communicate  Manage Your Project
  • 5. Communication  Leave nothing to interpretation  Be mindful of language gaps and timezones  Communicate early and communicate often  Ensure code is committed to git so you have access  Be as clear as possible about what you want  Your failure to communicate can break your project
  • 6. Wireframe Applications  Omnigraffle  Photoshop  Balsamiq  iOS app POP
  • 7. Test Often  Require weekly progress review  Use a tool like TestFlight  Identify problems while they’re small  Make sure everyone’s on the same page
  • 8. Manage Your Project  Use a tool like Codebase for tracking bugs  Use a tool like Basecamp to manage the project and deadlines  Require that all communication be within your PM software  Seriously, don’t use e-mail.  Be actively involved!
  • 9. Develop Yourself!  Relatively easy to get started  Resources for learning  Important topics to focus on  Launching an application
  • 10. Requirements for Starting  You need a Mac  Doesn’t need to be top of the line  I started on a 2008 Macbook Pro  Xcode 4  IDE for developing applications (Eclipse sucks)  Your brain  You’re gonna have to think  PATIENCE  This stuff’s hard at first. Stick with it.
  • 11. Your Mac  Find something no later than 2008.  Macbook Pro, Mac Mini, iMac, Macbook Air  Buy used if you don’t want to buy new  Yes, Macs are expensive.   But they’re worth it!   You must pay $99 for a developer license to build on a device
  • 12. Xcode 4  Available free on the Mac App Store  Just search for Xcode and you’ll find it
  • 13. Your Brain  It helps to know how to program.  If you don’t know what encapsulation is, you’re gonna have a bad time.  If you don’t know how to program, go through some lessons on cprogramming.com
  • 14. PATIENCE  Hardest requirement to acquire  This stuff can be difficult. It’s also frustrating. It does get better.  Start small and build on top of what you’ve learned
  • 15. Resources  The Internet!  www.raywenderlich.com  www.stackoverflow.com  www.apple.com  Books  iOS Programming – Big Nerd Ranch Guide  Beginning iPhone Development  Programming in Objective-C
  • 16. Topics to Focus On  Model-View-Controller (MVC)  Application lifecycle  Protocols/Delegation  Interface Builder  Storyboards may make learning easier at first
  • 17. Launching an Application  Learn about provisioning  Prepare your icons, launch background  Set up application on iTunes Connect  Publish application through the app store  Large topic, could justify its own presentation