mobile application development in iosholder/courses/mad/slides/01-introduction.pdf · mobile...
TRANSCRIPT
![Page 1: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/1.jpg)
Mobile Application Development in iOS
School of EECS
Washington State University
Instructor: Larry Holder
Mobile Application Development in iOS 1
![Page 2: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/2.jpg)
Course Overview
• Overview of iOS
• Language: Swift
• Development environment: Xcode
• Lifecycle: Design, implement, test, deploy
• Model-View-Controller (MVC) paradigm
Mobile Application Development in iOS 2
UpdateUpdate
User Action
Not
ify
Model View
Controller
![Page 3: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/3.jpg)
Course Topics
• Swift
• Storyboarding and UI design
• Navigation and segues
• Tables
• Settings
• Alerts and notifications
• Gestures
Mobile Application Development in iOS 3
![Page 4: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/4.jpg)
Course Topics (cont.)
• Sensors
• Communications
• Data storage
• Graphics and animation
• Multimedia
• Apple Watch
Mobile Application Development in iOS 4
![Page 5: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/5.jpg)
Course Outcomes
• Proficient with iOS development environment
• Design, implement, test and deploy iOS app
• Able to use various iOS frameworks and kits
Mobile Application Development in iOS 5
![Page 6: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/6.jpg)
Course Details
• Course website
– www.eecs.wsu.edu/~holder/courses/MAD/
• Prerequisites
– Advanced Data Structures
– Object-oriented design
• Grading (curved)
– 12 homeworks (80%)
– 1 final project (20%)
– Submissions via Blackboard Learn (learn.wsu.edu)
Mobile Application Development in iOS 6
![Page 7: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/7.jpg)
Mobile App Development: Platforms
• iOS (Swift)
• Android (Java)
• Windows (C#)
– Xamarin (C# à iOS/Android/Windows)
Mobile Application Development in iOS 7
![Page 8: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/8.jpg)
iOS Devices
Mobile Application Development in iOS 8
iPhoneiPad Apple Watch
![Page 9: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/9.jpg)
Overview of iOS: LayersiOS Layers • Cocoa Touch Layer: Frameworks that
define appearance of app (e.g.,
GameKit, MapKit, UIKit)
• Media Layer: Graphics, Audio and Video technologies (e.g., CoreAudioKit, GLKit,
SpriteKit, SceneKit)
• Core Services Layer: Services and basic
types (e.g., Network, CoreData, CoreLocation, CoreMotion, CloudKit,
HealthKit, HomeKit, StoreKit, WebKit)
• Core OS Layer: Low-level services (e.g.,
file I/O, networking, security)
Mobile Application Development in iOS 9
![Page 10: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/10.jpg)
Overview of iOS: Frameworks• ARKit
• CloudKit
• HealthKit
• HomeKit
• GameKit
• MapKit
• SceneKit
• MusicKit
• WebKit
• UIKit
• CoreData
• CoreLocation
• CoreMotion
• CoreML
• WatchOS/WatchKit
• Over 50 more...
Mobile Application Development in iOS 10
![Page 11: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/11.jpg)
Development Environment:Xcode
Mobile Application Development in iOS 11
Xcode
![Page 12: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/12.jpg)
First AppMobile Application Development in iOS
School of EECS
Washington State University
Instructor: Larry Holder
Mobile Application Development in iOS 12
![Page 13: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/13.jpg)
Outline
• Xcode 11 projects
• Anatomy of an iOS app
– iOS 13 (iPhone 6s or higher)
• Storyboarding
• Object attributes
• Auto-layout constraintsMobile Application Development in iOS 13
![Page 14: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/14.jpg)
Xcode Projects
• File à New à Project
Mobile Application Development in iOS 14
![Page 15: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/15.jpg)
Xcode
Mobile Application Development in iOS 15
![Page 16: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/16.jpg)
Anatomy of an iOS App• AppDelegate
– Entry point
• SceneDelegate
– Lifecycle management
• ViewController– Controls a view
• Launch & Main storyboards
• Assets.xcassets– Icons, images, videos
• Info.plist– App properties
Mobile Application Development in iOS 16
![Page 17: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/17.jpg)
App Lifecycle
Mobile Application Development in iOS 17
![Page 18: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/18.jpg)
Storyboard
Mobile Application Development in iOS 18
![Page 19: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/19.jpg)
Storyboard: Adding Elements to View
Mobile Application Development in iOS 19
1. Drag element into view.
![Page 20: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/20.jpg)
Storyboard: Adding Elements to View
Mobile Application Development in iOS 20
2. Add layout contraints.
![Page 21: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/21.jpg)
Storyboard: Adding Elements to View
Mobile Application Development in iOS 21
• Create IBOutlet to get/set properties of element
• Create IBAction to detect interaction with element
3. Connect element to view controller.
Ctrl-Click
Split Editor
![Page 22: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/22.jpg)
Storyboard: Adding Elements to View
Mobile Application Development in iOS 22
![Page 23: Mobile Application Development in iOSholder/courses/MAD/slides/01-Introduction.pdf · Mobile Application Development in iOS School of EECS Washington State University Instructor:](https://reader033.vdocuments.mx/reader033/viewer/2022050610/5fb19e82d791943e5344740a/html5/thumbnails/23.jpg)
Resources
• developer.apple.com
• swift.org
• www.raywenderlich.com
• stackoverflow.com
Mobile Application Development in iOS 23