iOS Ecosystem
-
Upload
matteo-battaglio -
Category
Technology
-
view
1.647 -
download
0
description
Transcript of iOS Ecosystem
Pragma Night @ Talent Garden
iOS Ecosystem
Matteo Battaglio
1
1giovedì 28 marzo 13
Pragma Night
Why iOS?
2
2giovedì 28 marzo 13
Pragma Night
Reason #1: NumbersThe size of the mobile market is huge,
and growing exponentially
3
3giovedì 28 marzo 13
Pragma Night
Reason #1: NumbersApple keeps holding a significant shareof the market, with a positive outlook
4
4giovedì 28 marzo 13
Pragma Night
Reason #2: Consistency
• The iOS platform is highly consistent
• Just 3 different device families (iPhone, iPad, iPod)
• they target the high-end market
• the minimum set of features and APIs available to all is well known
5
5giovedì 28 marzo 13
Pragma Night
Reason #2: ConsistencyMore than 80% of devices already run iOS 6
6
6giovedì 28 marzo 13
Pragma Night
Reason #3: Environment
• 500+ milion iTunes accounts, with credit card
• the iOS customer is much more willing to pay than other platforms’ customer
Apple’s mission:create an environment around the user, not just sell products
7
7giovedì 28 marzo 13
Pragma Night
Reason #3: Environment
• Apple’s highly-controlled environment limits unwanted phenomenons
• piracy
• fraudulent apps
• crappy apps
• Developers are less threatened than other platforms’ developers
8
8giovedì 28 marzo 13
Pragma Night
Reason #4: Resources
• iOS frameworks and APIs are of first-class quality
• The documentation is structured and exhaustive
• Lots of books, articles, videos and tutorials
• High-quality developer community
9
9giovedì 28 marzo 13
Pragma Night
Reason #4: Resources
• Development tools by Apple
• Xcode is a full featured IDE
• Interface Builder is great for designing user interfaces
• Debugger and profiler make it easy to find anomalies
• iOS Simulator is super fast
10
10giovedì 28 marzo 13
Pragma Night
Reason #5: Fun!
• iOS devices are equipped with all sorts of sensors
• their computational power is enough even for the more advanced tasks
• always connected to the Internet
There is no limit to the imagination!
11
11giovedì 28 marzo 13
Pragma Night
Reason #5: Fun!
Most popular app categories
1. Games ~ 140000 active apps @ $0.89 avg.2. Education ~ 90000 active apps3. Entertainment ~ 75000 active apps4. Lifestyle ~ 70000 active apps5. Books ~ 55000 active apps
@ $1.56 avg.
12
12giovedì 28 marzo 13
Pragma Night
Drawbacks
• Not-so-cheap hardware
• iOS-dedicated events almost absent
• Dependance upon a single company and its decisions (non disclosure agreements, Xcode and SDK update policies, etc)
13
13giovedì 28 marzo 13
Pragma Night
Hidden complexity
• iPhone
• iPad
• iPod
14
Just 3 different devices?
14giovedì 28 marzo 13
Pragma Night
Devices
iPhone 3GS
iPhone 4
iPhone 4s
iPhone 5
iPod 4th
iPod 5th
iPad 2
iPad 3
iPad 4
iPad Mini
15
15giovedì 28 marzo 13
Pragma Night
Display
iPhone 3GS iPhone 4 / 4SiPod 4th gen
iPhone 5 iPod 5th gen
320x480 px 640x480 px 640x1136 px
116 ppi 326 ppi 332 ppi
16
16giovedì 28 marzo 13
Pragma Night
Display
iPad 1 / 2 iPad 3 / 4 iPad mini
1024x768 px 2048x1536 px 1024x768 px
132 dpi 264 dpi 162 dpi
17
17giovedì 28 marzo 13
Pragma Night
Processor / RAM
ARMv7ARMv7ARMv7ARMv7 ARMv7sARMv7s
1 GB iPad 3 iPhone 5 iPad 4
512 MB iPhone 4iPhone 4S
iPad 2iPod 5th
256 MB iPhone 3GsiPod 3rd
iPad 1iPod 4th
18
18giovedì 28 marzo 13
Pragma Night
Device Specs
• GSM Arenahttp://www.gsmarena.com/apple-phones-48.php
• The iPhoneWikihttp://theiphonewiki.com/wiki/
• iPhone Dev Wikihttp://iphonedevwiki.net/index.php/Main_Page
19
19giovedì 28 marzo 13
Pragma Night
Requirements
20
20giovedì 28 marzo 13
Pragma Night
Phisical requirements
• A Mac (iMac, Mac mini, MacBook family)
• OS X (10.7+)
• Xcode (4.0+)
• An iOS device (not mandatory, but recommended)
• The iOS Simulator can’t be used to simulate some features (e.g. push notifications, in-app purchases)
21
21giovedì 28 marzo 13
Pragma Night
Skill requirements
• Object Oriented Programming
• C language
• Objective-C language & iOS SDK
• Apple guidelines
• Provisioning procedures
22
22giovedì 28 marzo 13
Pragma Night
Membership requirements
• Apple ID (free)
• Apple Developer Program (ADP) subscription
23
23giovedì 28 marzo 13
Pragma Night
Apple Developer Program
24
24giovedì 28 marzo 13
Pragma Night
Apple Developer Program
Name Price Deployment
iOS Developer Program $99/year App Store / 100 devices
iOS Developer Enterprise Program $299/year NO App Store / ∞ devices
iOS Developer University Program free NO App Store / 200 people
25
Developer Programs
25giovedì 28 marzo 13
Pragma Night
ADP Sections• Member Center
• manage users
• ADP subscription and renewal
• iOS Provisioning Portal
• development and distribution certificates
• adding and removing devices
• iTunes Connect
• app submissions
• tracking sales and trends
• handling payments
26
26giovedì 28 marzo 13
Pragma Night
Concepts
• Certificateunivocally identifies an actor
• DeviceDevices must be enabled for testing
• App IDUnique identifier for the app
• Provisioning profileAsset which encloses the three concepts above
27
27giovedì 28 marzo 13
Pragma Night
Certificates
• Development CertificateEach person in the team has his own
• Distribution CertificateThere’s one for the whole company (or single developer)
28
28giovedì 28 marzo 13
Pragma Night
Devices
• Purposedevices are used during development and testing
• Name + UDIDUnique Device IDentifier, 40 char-long stringe.g. 67a43b0925c7a8050ad788591ace81d1bda81bed
• Limits
1. The ADP allows for a maximum of 100 devices
2. A device can’t be removed from the list until the next renewal of the subscription
29
29giovedì 28 marzo 13
Pragma Night
App IDs
• Bundle Identifierunique identifier for the app
• Reverse domain namee.g. com.mycompany.BestAppEver
• Wildcard charactere.g. com.mycompany.*
30
30giovedì 28 marzo 13
Pragma Night
Provisioning Profile
• What is it?it’s a resource (a file) which bundles the App ID, the device list and the certificates of the developers of the team
• What does it provide?it is bundled with the app and is used to authorize the execution of the app on the devices and its deployment and distribution
• How long does it last?It is valid for one year, after which it must be renewed
31
31giovedì 28 marzo 13
Pragma Night
Provisioning Profile
•Development Provisioning Profile
‣ App ID ‣ (Development) certificate list‣ Device list
•Distribution Provisioning Profile
‣ Distribution method (App Store or AdHoc)‣ App ID‣ (Distribution) certificate‣ Device list (only in case of AdHoc deployment)
32
32giovedì 28 marzo 13
Step by step
MMADP $$ Certificates
MDistributionCertificate
DevelopmentCertificates O
MMTeam Devices
MDevicesCustomers OMM
M M
New APP App ID Provisioning OMM
Xcode Install Build & sign
33giovedì 28 marzo 13
Pragma Night
SDK
34
34giovedì 28 marzo 13
Pragma Night
iOS
• Mobile operating systemARM architecture, multitasking, Cocoa Touch, multi-touch GUI
• Kernel XNU (like MAC OS X)Originally developed by NeXT for the NeXTSTEP OS, it is a hybrid kernel combining Mach and BSD components, and an object-oriented API for drivers
• Initially known as iPhone OS
35
35giovedì 28 marzo 13
Pragma Night
Cocoa Touch frameworks
36
UIKit
36giovedì 28 marzo 13
Pragma Night
iOS SDK
• Libraries and development tools
• First release in March 2008
• Side by side with Xcode e Mac OS
37
37giovedì 28 marzo 13
Pragma Night
Tools
• XcodeThe natural environment for app development
• iOS SimulatorThe handy way of running and testing apps
• InstrumentsThe perfect tool for code analysis and profiling
38
38giovedì 28 marzo 13
Pragma Night
Xcode
• Integrated Development Environment
• Objective-C / Objective-C++ / C++ / C
• LLVM and GCC compilers and debuggers
• Interface Builder
• Source Control (Subversion / Git)
• Apple’s developer documentation
39
39giovedì 28 marzo 13
Pragma Night
Simulator
• iPhone / iPhone Retina (3.5” / 4”) / iPad / iPad Retina
• Gestures, Orientation change, Memory Warnings
• GPS (iOS 5+ Simulator)
• Apps: Safari, Photos, Contacts, Settings, Game Center, News Stand
• Fast! (It’s x86 and runs x86 apps, no ARM emulation)
40
40giovedì 28 marzo 13
Pragma Night
Instruments
• Application performance analyzer and visualizer
• Integrated with Xcode
• Tracks user events, CPU activity, memory allocations, releases and leaks, file I/O, network activity, graphics and OpenGL
41
41giovedì 28 marzo 13
Pragma Night
Resources
42
42giovedì 28 marzo 13
Pragma Night
Resources
• Events
• Videos
• Books
43
43giovedì 28 marzo 13
Pragma Night
Events
• Apple WWDC
• Apple Tech Talk World Tour
• NSConference
• Pragma mark :)
http://lanyrd.com/topics/ios/
44
44giovedì 28 marzo 13
Pragma Night
Videos
• NSScreencast.com
• WWDC 2010 / 2011 / 2012 (ADP members only)
• iOS Development Videos (ADP members only)
• Lynda.com
• iDeveloper.tv
• Udemy.com
• University courses on iOS (published on iTunes U)
45
45giovedì 28 marzo 13
Pragma Night
Books
• Programming in Objective-C
• Cocoa Design Patterns
• Pro Multithreading and Memory Management for iOS and Mac OS X
46
46giovedì 28 marzo 13
Pragma Night
Thank You!
47giovedì 28 marzo 13