beginning real world ios app development

Post on 15-Jul-2015

281 Views

Category:

Mobile

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Please tweet with hashtag #BelajarSwift

Your tools?Xcode 6

Andri Yadi Bayu Wicaksono

Andri YadiCEO, DyCode

The first & largest iOS & OSX developer community in Indonesia

ID-Objective-CPresident

7 years in a row

1 of 3 Azure MVPs in Indonesia, of 114 in the worlds

Bayu WYMobile Team Lead, DyCode

What is “real world”?✔

Leverage backend services for storage, logics, and other processings Use 3rd party libraries Access 3rd party APIs Learn from real world experienced developer :)

Arguably…

Intro to iOS development & Swift basics Your first iOS app project Most used UIKit, storyboard, segue Use 3rd party library and API Azure Mobile Services (ZuMo) ZuMo iOS SDK BONUS: Surprise Topic!!!

for that, we’ ll cover…

iOSDevelopment stuffs

Let’s start with…

iOS Devices

iOS

Xcode iOS Simulator iOS Developer Library

iOS

Required StuffsRequired Stuffs

iOSin form of Xcode

Latest

Optional Stuffs

Actual iOS Devices

More development stuffs

Objective-CSince 2008

Introducing Swift…Since June 2, 2014

Required StuffsWhat does it mean for us?for long-time iOS developers - with Objective-C

with…

It’s new way to achieve the same result

Modern Designed for Safety Fast & Powerful Interactive Playgrounds Ready today!

Swift

Your skill/knowledge of Cocoa Touch framework is still applicable

that have no experience developing iOS apps

What is it for the rest of us?

Easier, faster to learn Safer More fun You can skip Objective-C completely

Swift is arguably…

Bad news is…

Still need to learn about Cocoa Touch framework

Swift PlaygroundDemo

Design Pattern

Model-View-Controller design pattern

Model View

Controller

Model-View-Controller design pattern

Outlet

Can View speak to Controller?

Outlet

?

Sort of… The communication is “blind” and structured

Outlet

?

The View sends the Action when stuffs happen in the UI

Target

Action

WHAT R U TALKIN’ ABOUT?

Another way, Controller sets itself as the View’s delegate

Delegate

The delegate is set via a Protocol

Delegate

Controllers are almost always that data source (not Model!)

Delegate

Data Source

The Model is (should be) UI independent. What if the Model has information to update or something?

Delegate

Data Source

Use broadcast mechanism. Controllers (or other Model) can “listen” to interesting stuff.

Delegate

Data Source

Notification & KVO

Model-View-Controller design pattern

NowPlayingController

NowPlayingView

NowPlaying

???

iOS frameworks

Touch ID PhotoKit Camera API HealthKit ResearchKit

CloudKit HomeKit SceneKit SpriteKit Metal

Handoff Extensions WatchKit

AccelerateAccounts

AddressBook

AddressBookUI

AdSupport

AssetsLibrary

AudioToolbox

AudioUnit

AVFoundation

AVKitCFNetwork

CloudKit

CoreAudio

CoreAudioKit

CoreBluetooth

CoreData

CoreFoundation

CoreGraphics

CoreImage

CoreLocation

CoreMedia

CoreMIDI

CoreMotion

CoreTelephony

CoreTextCoreVideo

EventKitEventKitUI

ExternalAccessory

Foundation

GameController

GameKit

GLKit

GSS

HealthKit

HomeKit

iAd

ImageIO

IOKit

JavaScriptCore

LocalAuthentication

MapKit

MediaAccessibility

MediaPlayer

MediaToolbox

MessageUI

Metal

MobileCoreServices

MultipeerConnectivity

NetworkExtension

NewsstandKit

NotificationCenter

OpenAL

OpenGLES

PassKit

Photos

PhotosUI

PushKit

QuartzCore

QuickLook

SafariServices

SceneKit

Security

Social

SpriteKit

StoreKit

SystemConfiguration

Twitter

UIKitVideoToolbox

WebKit

Human Interface Designhttps://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/

Take advantage of the whole screen Reconsider visual indicators of physicality and realism

Translucent UI elements hint at the content behind them

Deference

Use plenty of negative space Let color simplify the UI Ensure legibility by using the system fonts (Dynamic Type)

Clarity

Embrace borderless buttons

Translucent background Displays lists in layers Enhanced transitions to give users a sense of hierarchy and depth

Depth

http://www.teehanlax.com/tools/iphone

Prepo

BaseSqlite Manager

App Store Submission

you app can use this badge!

Craving to know more about iOS development?

Let’s join upcoming iOS 8 development class - with Swift

http://edu.dycode.co.id

Required StuffsBackend Servicesfor long-time iOS developers - with Objective-C

DB & Storage

Authentication

Logic

Push

API Wrapper

Mobile Backend as a Service

Leverage BaaS

Mobile Services

Microsoft Azure Mobile Services

a lot of BaaS providersTurn out…

Microsoft Azure Mobile Services

So, what is it?

Storage

Authentication

Logic

Push

Scheduler

Get startedVisit azure.com

Free trial! worth $200 Or create temporary service: https://trywebsites.azurewebsites.net

BONUS TOPIC?

Intro to WatchKit

WatchKit appDemo

Just do the demo

DyCode www.dycode.com

@dycode

top related