mobile application development in iosholder/courses/mad/slides/01-introduction.pdf · course topics...

23
Mobile Application Development in iOS School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in iOS 1

Upload: others

Post on 13-Mar-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Mobile Application Development in iOS

School of EECS

Washington State University

Instructor: Larry Holder

Mobile Application Development in iOS 1

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

Course Topics

• Swift

• Storyboarding and UI design

• Navigation and segues

• Tables

• Settings

• Alerts and notifications

• Gestures

Mobile Application Development in iOS 3

Course Topics (cont.)

• Sensors

• Communications

• Data storage

• Graphics and animation

• Multimedia

• Apple Watch

Mobile Application Development in iOS 4

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

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

Mobile App Development: Platforms

• iOS (Swift)

• Android (Java)

• Windows (C#)

– Xamarin (C# à iOS/Android/Windows)

Mobile Application Development in iOS 7

iOS Devices

Mobile Application Development in iOS 8

iPhoneiPad Apple Watch

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

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

Development Environment:Xcode

Mobile Application Development in iOS 11

Xcode

First AppMobile Application Development in iOS

School of EECS

Washington State University

Instructor: Larry Holder

Mobile Application Development in iOS 12

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

Xcode Projects

• File à New à Project

Mobile Application Development in iOS 14

Xcode

Mobile Application Development in iOS 15

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

App Lifecycle

Mobile Application Development in iOS 17

Storyboard

Mobile Application Development in iOS 18

Storyboard: Adding Elements to View

Mobile Application Development in iOS 19

1. Drag element into view.

Storyboard: Adding Elements to View

Mobile Application Development in iOS 20

2. Add layout contraints.

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

Storyboard: Adding Elements to View

Mobile Application Development in iOS 22

Resources

• developer.apple.com

• swift.org

• www.raywenderlich.com

• stackoverflow.com

Mobile Application Development in iOS 23