20
iOS – let’s start Basic introduction to mobile app development And Apple iOS Harit Kothari @harit

Basic Intro to iOS

Embed Size (px)

Citation preview

Page 1: Basic Intro to iOS

iOS – let’s start

Basic introduction to mobile app developmentAnd

Apple iOS

Harit Kothari

@harit

Page 2: Basic Intro to iOS

Mobile / Cellphone

Screen

Memory + Storage + Processor

Battery

Always on

Page 3: Basic Intro to iOS

Operating System

What is operating system

Processes, memory, space, time, challenges

Similarity between mobile and workstation/computer OS

Challenges with mobile OS

J2ME (Java 2 platform Micro Edition)

Tablet is thin line between mobile and desktop/workstation

Page 4: Basic Intro to iOS

Apple iOS

No iOS v/s Android please!

Operating system with touch and gesture support

Memory and diskspace management

Too many restrictions – security

Derived from Macintosh OS X

Initially for iPhone, later on iPod & iPad

User interaction – few buttons & touch – gestures

APIs, APIs and lots of APIs wrapped in frameworks

Page 5: Basic Intro to iOS

High level architecture

Page 6: Basic Intro to iOS

Core OS Layer

Just understand, occasionally required, used by frameworks

Accelerate Framework (digital signal processing, linear algebra, image-processing calculations)

Core Bluetooth Framework (Bluetooth)

External Accessory Framework (Square Card Reader)

Generic Security Services Framework

Local Authentication Framework (TouchID)

Network Extension Framework (VPN)

Security Framework (Cryptography & Keychain)

System

Currently 64 bit OS

Page 7: Basic Intro to iOS

Core Services Layer

Peer-to-Peer Services (Bluetooth connectivity)

iCloud Storage

Block Objects (programming - blocks)

Data Protection (encryption & restricting access to shared data)

File-Sharing Support (/Documents directory accessible)

Grand Central Dispatch

In-App Purchase

SQLite

XML Support

Frameworks - provides APIs to operate iCloud, CoreData, AddressBook, Location, Media, HomeKit etc

Page 8: Basic Intro to iOS

Media Layer

Graphics & Image

Animation

OpenGL ES – 2D & 3D rendering

Metal – advanced level graphic rendering & manipulation

Text

Photo Library

Audio

Video

Frameworks provide APIs to operate on images, photos, animation, audio-video playback & capture etc.

Page 9: Basic Intro to iOS

Cocoa Touch Layer

App Extensions (share, action, widget, photo editing, document sharing)

Handoff

AirDrop

Multitasking

Auto Layout

Storyboards

UI State Preservation

Apple Push Notification Service

Local Notifications

Gesture Recognizers

Standard System View Controllers (compose email, message, create/edit contact, etc)

Frameworks - AddressBookUI, EventKitUI, MapKit, MessageUI, UIKit

Page 10: Basic Intro to iOS

Where’s application

Few apps shipped with iDevices like Contacts, Maps, App Store, Camera, Calendar, Photos and others

App Store is an app – marketplace to purchase and install apps

And your own!

.app is compiled application, .ipa is archieved and code signed app

Page 11: Basic Intro to iOS

But how to?

Development needs

Mac OS X system – iMac, MacBook, Mac Mini –any

Softwares – xCode!

iDevice – good to have – testing

Of course, knowledge of iOS development, objective-c, swift languages

Page 12: Basic Intro to iOS

Terminologies

Many terminologies, covering few

IBOutlet

IBAction

Classe

Function

Delegate

Block

Notification

ViewController

Page 13: Basic Intro to iOS

UI

Again, many ready made components available, covering few

Button

Label

Navigation

View

ImageView

ScrollView

Slider

Switch

ActionSheet

Alert

No ComboBox/DropDown, Radio Buttons, CheckBoxes – its Apple world

Your own custom UI component with your own behavior

Page 14: Basic Intro to iOS

How to put the controls

Storyboard / XIB

View Transition / Segue

Connect them with code

Page 15: Basic Intro to iOS

Application Lifecycle

Main(), UIApplicationMain, AppDelegate

Page 16: Basic Intro to iOS

Events

Touch

Remote – shake, motion

Accelerometer, Magnetometer, Gyroscope

Location

Redraw

Page 17: Basic Intro to iOS

Application state

Execution states of an app

Not running

Inactive

Active

Background

Suspended

Page 18: Basic Intro to iOS

Apple World

Mac OS X application development

iWatch

tvOS – apple TV

Swift – open source

Page 19: Basic Intro to iOS

Other side...

Very rapid development & frequent changes

New trends and technologies – innovations

Compatibility & updates

Page 20: Basic Intro to iOS

Resources & help

iOS Developer Library -https://developer.apple.com/library/ios/documentation/

Ray Wenderlich Tutorials

Envato tut+ Tutorials

Stackoverflow best buddy

GitHub & cocoacontrols – custom components & libraries

https://developer.apple.com/

WWDC Sessions

Thank you!