5 Realms for Learning iOS Development

720 views

Published on

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.

Published in: Technology

5 Realms for Learning iOS Development

  1. 1. 5 Realms for Learning iOS Development
  2. 2. 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.
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. Goal For Today • Knowing which realm you're having trouble in really helps in finding the solution and getting unstuck in your learning efforts.
  7. 7. 5 Realms Design Patterns Objective-C Xcode IDE iOS SDK OOP
  8. 8. 5 Realms + 1 Design Patterns Objective-C Xcode IDE iOS SDK OOP Mac OS X
  9. 9. 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
  10. 10. 5 Realms + 1 (and a possible sixth realm for people starting out who are new to Macs) ! 6. Mac OS X
  11. 11. Realm Common Design Patterns 1. Model - View - Controller 2. Template Method Pattern 3. Responder Chain 4. Outlets, Targets, and Actions Design Patterns
  12. 12. Realm Common Design Patterns (continued) 1. Notifications 2. Singletons Design Patterns
  13. 13. Realm Resources • Cocoa Design Patterns by Buck and Yacktman Design Patterns
  14. 14. Realm Objective-C Objective-C language and syntax • objective-c language • superset of C language • data types, expressions, arrays, dictionaries • looping and enumeration • objective-c literals (shortcuts)
  15. 15. Realm Objective-C Objective-C language and syntax • objective-c messaging syntax • bracket notation ie: [someClassInstance someMessageToInstance];
  16. 16. Realm Objective-C Objective-C language and syntax • Blocks • Protocols • Memory management • ARC - Automatic Reference Counting • MRC - Manual Reference Counting
  17. 17. Realm Objective-C Resources • Programming in Objective-C fifth edition by Stephen G. Kochan
  18. 18. Realm iOS SDK iOS SDK Frameworks and Application Flow • Cocoa Touch Layer (Frameworks) • • Foundation, UIKit, etc. iOS SDK versions ie: iOS 7
  19. 19. Realm Resources • google "ios technology overview" iOS SDK
  20. 20. Realm OOP Object Oriented Programming • Classes, Objects and Methods • ivars - Instance Variables • Properties • • accessor methods (getters and setters) Variable Scope (public, private)
  21. 21. Realm Object Oriented Programming • Inheritence • Polymorphism OOP
  22. 22. Realm OOP Resources • google "object oriented programming" • see Irving iOS Jumpstart discussion board for link to Stanford University OOP course
  23. 23. Realm Xcode IDE The Xcode Integrated Development Environment • Editor and Compiler • Debugging • Source Code Repository • Automated Testing
  24. 24. Realm Xcode IDE The Xcode Integrated Development Environment • Build Management • On-Device Testing • Performance Tuning
  25. 25. Realm Resources • google "Xcode overview" Xcode IDE
  26. 26. Realm +1 Mac OS X Mac OS X Resources • Hardware requirements • Alternatively • http://www.macincloud.com • (haven't tried it but appears to be vnc to an actual mac)
  27. 27. 5 Realms + 1
  28. 28. Additional Links to be Posted in Meetup Discussion Group Design Patterns Objective-C Xcode IDE iOS SDK OOP
  29. 29. Thank You!

×