5 realms for learning ios development
DESCRIPTION
Irving-iOS-Jumpstart Meetup presentation of a useful breakdown of the realms of developing in iOS. Provides sample resources for learning applicable to each realm.TRANSCRIPT
5 Realmsfor Learning iOS Development
Summary
• To the beginning iOS developer the formalities of classes, frameworks, design patterns, and learning an all new integrated development environment can be overwhelming.
• Today we'll discuss a useful breakdown of the realms of developing in iOS and provide resources for learning applicable to each realm.
My Background• Owned first generation iPhone in 2007
• iOS Developer since 2010.
• Self taught iOS programmer
• Introduction of the iPad pushed me into learning how to program for business use
• Published first app to Apple app store in 2011
My Motivation
• increase mobile literacy - mobile is a different animal
• to sample reality for Veray Intelligence
• if you really want to know something, teach it
My Motivation
• I recall my pain in 2010-2011
• when beginning iOS development it's easy to get utterly stuck and want to give up on learning
Goal For Today
• Knowing which realm you're having trouble in really helps in finding the solution and getting unstuck in your learning efforts.
5 Realms
Design Patterns Objective-C
iOS SDK OOP
Xcode IDE
Mac OS X
5 Realms + 1
Design Patterns Objective-C
iOS SDK OOP
Xcode IDE
5 Realms
1. Common Design Patterns
2. Objective-C language and syntax
3. iOS SDK Frameworks and Application Flow
4. Object Oriented Programming 5. The Xcode IDE
5 Realms + 1
(and a possible sixth realm for people starting out who are new to Macs)
!
6. Mac OS X
Realm
Common Design Patterns
1. Model - View - Controller
2. Template Method Pattern
3. Responder Chain
4. Outlets, Targets, and Actions
Design Patterns
Realm
Common Design Patterns (continued)
1. Notifications
2. Singletons
Design Patterns
Realm
Resources
• Cocoa Design Patterns by Buck and
Yacktman
Design Patterns
RealmObjective-C language and syntax
• objective-c language
• superset of C language
• data types, expressions, arrays, dictionaries
• looping and enumeration
• objective-c literals (shortcuts)
Objective-C
Realm
Objective-C language and syntax
• objective-c messaging syntax
• bracket notation
ie: [someClassInstance someMessageToInstance];
Objective-C
RealmObjective-C language and syntax
• Blocks
• Protocols
• Memory management
• ARC - Automatic Reference Counting
• MRC - Manual Reference Counting
Objective-C
Realm
Resources
• Programming in Objective-C fifth edition by
Stephen G. Kochan
Objective-C
Realm
iOS SDK Frameworks and Application Flow
• Cocoa Touch Layer (Frameworks) • Foundation, UIKit, etc.
• iOS SDK versions ie: iOS 7
iOS SDK
Realm
Resources
• google "ios technology overview"
iOS SDK
RealmObject Oriented Programming
• Classes, Objects and Methods • ivars - Instance Variables • Properties
• accessor methods (getters and setters) • Variable Scope (public, private)
OOP
Realm
Object Oriented Programming • Inheritence • Polymorphism
OOP
Realm
Resources • google "object oriented programming" • see Irving iOS Jumpstart discussion board for
link to Stanford University OOP course
OOP
Realm
The Xcode Integrated Development Environment
• Editor and Compiler
• Debugging
• Source Code Repository
• Automated Testing
Xcode IDE
Realm
The Xcode Integrated Development Environment
• Build Management
• On-Device Testing
• Performance Tuning
Xcode IDE
Realm
Resources
• google "Xcode overview"
Xcode IDE
Realm +1Mac OS X Resources
• Hardware requirements • Alternatively
• http://www.macincloud.com • (haven't tried it but appears to be vnc to an
actual mac)
Mac OS X
5 Realms + 1
Additional Links to be Posted in Meetup Discussion Group
Design Patterns Objective-C
iOS SDK OOP
Xcode IDE
Thank You!