5 realms for learning ios development

29
5 Realms for Learning iOS Development

Upload: irving-ios-jumpstart

Post on 18-Nov-2014

324 views

Category:

Technology


0 download

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

Page 1: 5 Realms for Learning iOS Development

5 Realmsfor Learning iOS Development

Page 2: 5 Realms for 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.

Page 3: 5 Realms for Learning iOS Development

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

Page 4: 5 Realms for Learning iOS Development

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

Page 5: 5 Realms for Learning iOS Development

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

Page 6: 5 Realms for Learning iOS Development

Goal For Today

• Knowing which realm you're having trouble in really helps in finding the solution and getting unstuck in your learning efforts.

Page 7: 5 Realms for Learning iOS Development

5 Realms

Design Patterns Objective-C

iOS SDK OOP

Xcode IDE

Page 8: 5 Realms for Learning iOS Development

Mac OS X

5 Realms + 1

Design Patterns Objective-C

iOS SDK OOP

Xcode IDE

Page 9: 5 Realms for Learning iOS Development

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

Page 10: 5 Realms for Learning iOS Development

5 Realms + 1

(and a possible sixth realm for people starting out who are new to Macs)

!

6. Mac OS X

Page 11: 5 Realms for Learning iOS Development

Realm

Common Design Patterns

1. Model - View - Controller

2. Template Method Pattern

3. Responder Chain

4. Outlets, Targets, and Actions

Design Patterns

Page 12: 5 Realms for Learning iOS Development

Realm

Common Design Patterns (continued)

1. Notifications

2. Singletons

Design Patterns

Page 13: 5 Realms for Learning iOS Development

Realm

Resources

• Cocoa Design Patterns by Buck and

Yacktman

Design Patterns

Page 14: 5 Realms for Learning iOS Development

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

Page 15: 5 Realms for Learning iOS Development

Realm

Objective-C language and syntax

• objective-c messaging syntax

• bracket notation

ie: [someClassInstance someMessageToInstance];

Objective-C

Page 16: 5 Realms for Learning iOS Development

RealmObjective-C language and syntax

• Blocks

• Protocols

• Memory management

• ARC - Automatic Reference Counting

• MRC - Manual Reference Counting

Objective-C

Page 17: 5 Realms for Learning iOS Development

Realm

Resources

• Programming in Objective-C fifth edition by

Stephen G. Kochan

Objective-C

Page 18: 5 Realms for Learning iOS Development

Realm

iOS SDK Frameworks and Application Flow

• Cocoa Touch Layer (Frameworks) • Foundation, UIKit, etc.

• iOS SDK versions ie: iOS 7

iOS SDK

Page 19: 5 Realms for Learning iOS Development

Realm

Resources

• google "ios technology overview"

iOS SDK

Page 20: 5 Realms for Learning iOS Development

RealmObject Oriented Programming

• Classes, Objects and Methods • ivars - Instance Variables • Properties

• accessor methods (getters and setters) • Variable Scope (public, private)

OOP

Page 21: 5 Realms for Learning iOS Development

Realm

Object Oriented Programming • Inheritence • Polymorphism

OOP

Page 22: 5 Realms for Learning iOS Development

Realm

Resources • google "object oriented programming" • see Irving iOS Jumpstart discussion board for

link to Stanford University OOP course

OOP

Page 23: 5 Realms for Learning iOS Development

Realm

The Xcode Integrated Development Environment

• Editor and Compiler

• Debugging

• Source Code Repository

• Automated Testing

Xcode IDE

Page 24: 5 Realms for Learning iOS Development

Realm

The Xcode Integrated Development Environment

• Build Management

• On-Device Testing

• Performance Tuning

Xcode IDE

Page 25: 5 Realms for Learning iOS Development

Realm

Resources

• google "Xcode overview"

Xcode IDE

Page 26: 5 Realms for Learning iOS Development

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

Page 27: 5 Realms for Learning iOS Development

5 Realms + 1

Page 28: 5 Realms for Learning iOS Development

Additional Links to be Posted in Meetup Discussion Group

Design Patterns Objective-C

iOS SDK OOP

Xcode IDE

Page 29: 5 Realms for Learning iOS Development

Thank You!