Massimo Oliviero § The Mentor
iOS Ecosystem
a brief introduction
Slide 2
Slide 2 text
iOS Bootcamp
Chi sono
Massimo Oliviero
Mobile Developer & Entrepreneur
http://www.massimooliviero.net
@maxoly
[email protected]
Slide 3
Slide 3 text
Agenda
Context Process Platforms Tools
Mobile Market
AppStore
Environment
Apple
Developer
Program
Devices
SDK
Xcode
Simulator
Instruments
Slide 4
Slide 4 text
Sondaggio
?
Slide 5
Slide 5 text
http://pragmamark.org
Context Process Platforms Tools
Mobile Market
AppStore
Environment
Apple
Developer
Program
Devices
SDK
Xcode
Simulator
Instruments
Context
Mobile Market
AppStore
Environment
Slide 6
Slide 6 text
http://pragmamark.org
Mobile Market
Slide 7
Slide 7 text
Top mobile vendors
vendor shipments share annual growth
Nokia 417M 27% -7.9%
Samsung 329M 21% 17.6%
Apple 93M 6.0% 96%
Source: IDC Worldwide Mobile Phone Tracker, February 1, 2012
Mobile Phone Vendors, Shipments, and Market Share Calendar Year 2011
Slide 8
Slide 8 text
Top smartphone vendors
vendor shipments share annual growth
Samsung 95M 19% 310%
Apple 93M 19% 96%
Nokia 77M 15% -22%
Source: IDC Worldwide Mobile Phone Tracker, February 1, 2012
Worldwide Smartphone Vendors, Shipments, and Market Share Calendar Year 2011
Slide 9
Slide 9 text
Top smartphone OS
os shipments share annual growth
Android 237M 48% 244%
iOS 93M 19% 96%
Symbian 80M 16% -29%
Source: Canalys (Feb 2011)
Worldwide smartphone market, by operating system, by 2011 global sales
Slide 10
Slide 10 text
Top tablet vendor
os 2011 2012 share
iOS 40M 73M 61%
Android 17M 38M 31%
Microsoft 0M 5M 4,2%
Source: Gartner (April 2012)
Worldwide Sales of Media Tablets to End Users by OS
Slide 11
Slide 11 text
iOS Bootcamp
Diamo i numeri
• +365 milioni di device iOS
• +220 milioni di iPhone (2, 3G, 3Gs, 4, 4S)
• +67 milioni di iPad (iPad 1, iPad 2, new iPad)
• 80% iOS 5
Source: Apple
Slide 12
Slide 12 text
http://pragmamark.org
App Store
Slide 13
Slide 13 text
iOS Bootcamp
Diamo i numeri
• +400 milioni di account iTunes con CC
• +650.000 apps (di cui 225 specifiche per iPad)
• +30 miliardi di download
• +120.000 developers
• +5 miliardi $ agli sviluppatori
• 155 paesi
http://en.wikipedia.org/wiki/App_Store_(iOS)
Apple WWDC
Free vs. Paid Apps
https://www.mylookout.com/appgenome
Slide 16
Slide 16 text
Revenue
Slide 17
Slide 17 text
iOS Bootcamp
Case history
• What’s App Messenger
Prezzo App Store: $0.99
Prezzo Google Play: gratis / per il primo anno
• Angry Birds
Prezzo App Store: $0.99
Prezzo Google Play: gratis / con ADV
Slide 18
Slide 18 text
iOS Bootcamp
Case history
• Clear App
350K download in 9 giorni a $0.99 l’uno
ora il prezzo è a $2.99
• Draw Something
+50M download in meno di 2 mesi.
Slide 19
Slide 19 text
iOS Bootcamp
Riassumendo
• Il contesto
Un ambiente che invoglia l’utente
• Credit card
There are 400 million iTunes accounts (with
credit cards attached and ready to spend)
Slide 20
Slide 20 text
quindi...
Slide 21
Slide 21 text
iOS Bootcamp
Apps Trends
1. Games
2. Education
3. Entertainment
4. Books
5. Lifestyle
http://148apps.biz/app-store-metrics/
Slide 22
Slide 22 text
http://pragmamark.org
Environment
Slide 23
Slide 23 text
iOS Bootcamp
Think different
I contro del mondo Apple
• nessun programma di certificazione per devs
• unico evento la WWDC
• politica di update Xcode & SDK
• specifiche tecniche device non complete
• risorse sotto NDA
• Apple ID e ADP come se piovesse ^_^
Slide 24
Slide 24 text
iOS Bootcamp
Think different
I pro del mondo Apple
• WWDC di qualità
• risorse di qualità (soprattutto la docs)
• strumenti curati e performanti (anche se...)
• iOS SDK
Slide 25
Slide 25 text
iOS Bootcamp
Requisiti
• Mac OS
• Xcode (free)
• Device (iPhone/iPad/iPodTouch)
• Apple ID
• Apple Developer Program (ADP)
Slide 26
Slide 26 text
http://pragmamark.org
Context Process Platforms Tools
Mobile Market
AppStore
Environment
Apple
Developer
Program
Devices
SDK
Xcode
Simulator
Instruments
Process
Apple
Developer
Program
Slide 27
Slide 27 text
Developer Programs
iOS Developer
Program
$99/year App Store / 100 device
iOS Developer
Enterprise Program
$299/year NO App Store / ∞ device
iOS Developer
University Program
free NO App Store / 200 person
Slide 28
Slide 28 text
iOS Bootcamp
Apple Developer Program
• Member Center
gestione utenti, sottoscrizioni e rinnovi
• iOS Provisioning Portal
certificati di sviluppo e distribuzione, device
• iTunes Connect
app submission, sales and trends e pagamenti
iOS Provisioning Portal
Slide 29
Slide 29 text
iOS Bootcamp
Concepts
• Certificati
Identificano univocamente un attore
• Devices
Elenco dei device abilitati al testing
• App IDs
Identificativi univoci delle app
• Provisioning
E’ un asset che unisce i tre concetti precedenti
Slide 30
Slide 30 text
iOS Bootcamp
Certificati
• Development Certificate
Associato ad una persona del team
• Distribution Certificate
Associato all’identità dell’azienda (sviluppatore)
Slide 31
Slide 31 text
iOS Bootcamp
Devices
• Scopo
device per fini di sviluppo e test
• Name + UDID
Unique Device IDentifier, stringa di 40 caratteri
es. 67a43b0925c7a8050ad788591ace81d1bda81bed
• Limiti
1. ADP prevede un massimo di 100 device
2. Non è possibile eliminare un device fino al successivo
rinnovo dell’ADP
Slide 32
Slide 32 text
iOS Bootcamp
App IDs
• Bundle Identifier
è l’identificativo univoco dell’app
• Reverse domain name
es. com.mycompany.BestAppEver
• Wild-card character
es. com.mycompany.*
Slide 33
Slide 33 text
iOS Bootcamp
Provisioning
• Che cosa è
è un una risorsa (un file) che unisce i 3 concetti
precedenti ovvero App-ID, Devices e Certificati
• A cosa serve
è incluso nell’applicazione e serve per definire
chi è autorizzato a distribuire l’app e chi è
autorizzato ad eseguire l’app.
Slide 34
Slide 34 text
iOS Bootcamp
Provisioning
•Development Provisioning
‣ App ID
‣ elenco di certificati (development certificate)
‣ elenco di device
•Distribution Provisioning
‣ Distribution method (App Store o AdHoc)
‣ App ID
‣ un certificato (distribution certificate)
‣ e in caso di AdHoc un elenco di device
Slide 35
Slide 35 text
La vostra faccia ora
Slide 36
Slide 36 text
Step by step
M
M
ADP $$ Certificati M Distribution
Certificate
Development
Certificate
O
M
M
Team Device M Device
Clienti
O
M
M
M M
Nuova APP App ID Provisioning
O
M
M
Xcode Install Build & sign
Slide 37
Slide 37 text
http://pragmamark.org
Context Process Platforms Tools
Mobile Market
AppStore
Environment
Apple
Developer
Program
Devices
SDK
Xcode
Simulator
Instruments
Platforms
Devices
SDK
Assisted GPS,
Tri-band 3.6 Mbps
UMTS/HSDPA
iPhone timeline
iPhone 1
06/2007
iPhone 3G
06/2008 06/2009
iPhone 3GS
06/2010
iPhone 4 iPhone 4S
10/2011
Multi touch
Gesture
3.5’’ screen
320×480
163 ppi
Camera 2MP
128 MB RAM
Magnetometro
7.2 Mbit/s HSDPA
Camera 3.0 MP
VGA (480p)
256 MB RAM
CPU Apple A4 800 MHZ
Display Retina 326 ppi
Giroscopio a 3 assi
Camera 720p HD 5MP
Camera frontale 2MP
512 MB RAM
CPU Dual Core
Apple A5
Camera 8MP
Slide 41
Slide 41 text
CPU Apple A5 Dual Core
512 MB RAM
Camera 720p HD
iPad timeline
iPad 1
04/2010
iPad 2
03/2011 03/2012
the new iPad
CPU Apple A4
256 MB RAM
Wi-Fi
Quad-Band GSM/
GPRS/EDGE
Bluethooth
A-GPS
Magnetometro
Microfono
Display Retina
2048×1536 px resolution (264 ppi)
1 GB RAM
Camera 1080p - 5MP
Slide 42
Slide 42 text
iOS Bootcamp
Device iOS in commercio
• iPhone 4S
• iPhone 4
• iPhone 3GS (ebbene si)
• the new iPad (3rd)
• iPad 2
• iPod Touch 4G
Slide 43
Slide 43 text
iOS Bootcamp
Device Specs
• GSM Arena
http://www.gsmarena.com/apple-phones-48.php
• the iPhoneWiki
http://theiphonewiki.com/wiki/
• iPhone Dev Wiki
http://iphonedevwiki.net/index.php/Main_Page
Slide 44
Slide 44 text
http://pragmamark.org
SDK
Slide 45
Slide 45 text
iOS Bootcamp
iOS
• Sistema opertivo mobile
archietture ARM, multitasking, CocoaTouch,
multi-touch GUI
• Kernel XNU (stesso del MAC OS X)
sviluppato inizialmente da NeXT per il
NeXTSTEP os è un kernel ibrido
• Inizialmente conosciuto come iPhone OS
Slide 46
Slide 46 text
iOS Bootcamp
iOS SDK
• Librerie e strumenti di sviluppo
• Prima release Marzo 2008
• Side by side con Xcode e Mac OS
Slide 47
Slide 47 text
Side by side
Xcode SDK SO
4.5 iOS 6 SDK Mountain Lion
4.3 iOS 5 SDK Lion
4.2 iOS 4.3 SDK Snow Leopard / Lion
http://pragmamark.org
Context Process Platforms Tools
Mobile Market
AppStore
Environment
Apple
Developer
Program
Devices
SDK
Xcode
Simulator
Instruments
Tools
Xcode
Simulator
Instruments
Slide 50
Slide 50 text
http://pragmamark.org
Xcode
Slide 51
Slide 51 text
iOS Bootcamp
Xcode
• Ambiente di sviluppo (IDE)
• Objective-C / Objective-C++ / C++ / C
• Source Control (Subversion / Git)
• Interface Builder
• Alternative? Si, JetBrains AppCode (ma no UI)
iOS Bootcamp
Con qualche problema...
• Risorse non limitate
• Falsi Memory Leak
• Nessun supporto per la Camera
Slide 56
Slide 56 text
http://pragmamark.org
iOS Simulator
Demo
Slide 57
Slide 57 text
http://pragmamark.org
Instruments
Slide 58
Slide 58 text
iOS Bootcamp
Instruments
• Strumento di analisi dell’applicazione
• Traccia e profila le attività del codice
• Integrato con XCode e con l’iOS Simulator
• Individua problemi di memoria, di prestazioni e
di consumo eccessivo delle risorse (batteria,
memoria, CPU etc)
Slide 59
Slide 59 text
http://pragmamark.org
Instruments
Demo
Slide 60
Slide 60 text
iOS Bootcamp
What’s NeXT !?
Xcode, debugging &
development tools
Project Structure, code
organization & code
convention
UI customization
and technique
App User
Experience & User
Interaction
Design iOS
Application
Mobile development
methodology