Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 01)

737 views

Published on

This is the second lecture in my mobile apps development course. This lectures consists of a very high level discussion of the tools needed to develop for iOS (e.g. Xcode). We also talk very briefly about iOS's Model/View/Controller architecture. The course is an intensive and very compressed deep dive into iOS development in Swift. Visit the course web page to get copies of the course outline, lecture notes, sample code, etc. Course website: http://www.themobilemontage.com/2015/05/12/ios-bootcamp-learning-to-create-awesome-apps-on-ios-using-swift/
YouTube Link to lecture: https://youtu.be/XchvSH4EYEk

Published in: Software
  • Be the first to comment

iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 01)

  1. 1. XCODE / IOS OVERVIEW Lecture 01 Jonathan R. Engelsma, Ph.D.
  2. 2. TOPICS • TheTools - xCode and friends • ModelView Controller (MVC) Architecture
  3. 3. XCODE • The IDE: • xCode is Apple’s IDE for iOS and Mac development. • Available as a free download on the Apple Mac Store. • Requires an Apple Mac computer to run!
  4. 4. XCODE FEATURES • Integration with git (kind of lame) • Autocompletion / syntax highlighting / code folding • Fully integrated debugger • Interface Builder to ease UI implementation. • Support for deploying apps to AppStore
  5. 5. Editor Library PaneDebug AreaNav Area UtilityArea Toolbar
  6. 6. INTERFACE BUILDER https://developer.apple.com/xcode/interface-builder/
  7. 7. CREATING USER INTERFACES • We have two options on iOS: • Use “nib” files to instantiate UI: • *.storyboard: Storyboards contains multiple screens as well as the segues between them. • *.xib: Contain a single screen layout. • Programmatically create user interface.
  8. 8. WHICH APPROACH IS BEST? • Storyboards are easiest to work with but… • When multiple developers edit the same storyboard simultaneously, merging those changes can be problematic. • Many shops use *.xib’s and avoid *.storyboards. • Highly custom user interfaces may avoid using nib instantiated user-interfaces altogether! (Games, etc. )
  9. 9. XCODE DEBUGGER https://developer.apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode_Overview/DebugYourApp.html
  10. 10. XCODE DEBUGGER https://developer.apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode_Overview/DebugYourApp/DebugYourApp.html
  11. 11. THE IOS EMULATOR • Allows you to execute app on your computer. • Can’t emulate all device features (e.g. camera, bluetooth, accelerometer) • Always test on a real device prior to launch!
  12. 12. APPS / FORM FACTORS • iPhone/iPodTouch Only • iPad Only • Universal: same binary supports iPhone, iPodTouch and iPad.
  13. 13. design pattern = solution to a problem in a context Source: http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/ CocoaFundamentals/CocoaDesignPatterns/CocoaDesignPatterns.html
  14. 14. MODELVIEW CONTROLLER
  15. 15. BUILDING / RUNNING OUR FIRST IOS APP DEMO!!

×