Date post: | 15-Jul-2015 |
Category: |
Mobile |
Upload: | andri-yadi |
View: | 281 times |
Download: | 4 times |
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
http://developer.apple.com/ios
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
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
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