Native Platform API
Comparison
by:
Dr. Tim Lindquist
April 2, 2013
Cst594 Mobile Computing
Platforms
•
iOS
•
Android
•
Windows Phone
iPhone App Runtime Layers
iOS
•
ARM processor (as with Android) running
iOS
,
which is a trimmed version of OS X.
•
Objective
-
C runtime consists of dynamically
-
linked libraries together with underlying C libs.
•
Devices have 3
-
sensors
–
Proximity sensor deactivates the display
–
Ambient light sensor for display intensity
–
3
-
axis accelerometer sensor for orientation
iOS
Layers
Cocoa Touch
•
Multi
-
tasking
:
–
Home
Background, (running but not executing)
–
Relaunch
API support to save/restore state
–
App can support services requiring background
execution
–
App can use notifications to alert the user
–
Notification source:
local
(
gps
time to turn) or
remote
(external server pushes mail notification)
Cocoa Touch
•
Game Kit
–
Peer
-
to
-
peer connectivity over
bluetooth
for:
•
Multi
-
player games
•
Sharing information (contacts or other information)
•
Standard View Controllers (common UI)
•
Display/Edit contacts
•
Create/Edit calendar events
•
Compose email or SMS messages
•
Take a picture or shoot a video clip
Cocoa Touch
•
Gesture Recognizers
•
App associates action with the following:
–
Tapping (any number of taps)
–
Pinching in or out for zoom control
–
Panning or dragging
–
Swiping
–
Rotating
–
Long Presses
Cocoa Touch
•
Automatic Layou
t
•
Localization through string swapping
•
Mirroring UI elements for right
-
to
-
left languages
•
Storyboards
•
UI to design all views, including connections
•
Programmer can generate code for UI components that
create, replace, or add components and/or wire
-
ups
Cocoa Touch
•
Printing Support (network printers)
•
External Display Support
•
D
isplay app content on a
cable connected
external
device
•
Query and display and set screen resolutions
Cocoa Touch Frameworks
•
Address Book UI Framework
•
A
ccess to address book content and
•
UI components for creating and editing contacts
•
Event Kit
view and edit calendar events
•
Game Kit
•
Bonjour
discover and communication with services
•
Game Center (on
-
line service) for aliases, leaderboards,
matchmaking, record player progress, and challenges
Cocoa Touch Frameworks
•
iAd
deliver banner ads through your
app
using Apple on
-
line service
•
Map Kit
Map display
•
Directions
--
routing
•
Annotations
•
Points of interest
•
Message UI and Twitter Frameworks
•
Email messages
View and create
•
SMS message
view and create
Cocoa Touch Frameworks
•
UIKit
Framework
•
App and UI management
•
Graphics and windowing support
•
Customization of standard
UIKit
controls
•
Support for Text (cut
, copy, paste
) and Web content
•
Animating UI content, Integration with other Apps,
•
PDF creation
•
Accelerometer data
•
Camera and photo library
•
Device, battery state, proximity sensor, remote control
iOS
Layers
Media Layer
•
Graphics Technologies
–
Core Graphics (Quartz) 2D vector and image
rendering
–
Core Animation, Manipulation of Video and Stills
–
OpenGL ES and
GLKit
(2D & 3D rendering)
Media Layer
•
Audio Technologies
•
Media player and audio record (microphone). Manage
audio playback and recording in Objective
-
C App
•
API access to iTunes Library and playlists
•
Virtual 3D audio positioning
•
Supports Audio formats: AAC, Apple Lossless, A
-
law,
IMA/ADPCM, Linear PCM, micro
-
law, DVI/Intel IMA
ADPCM, Microsoft GSM 6.10, AES3
-
2003
Media Layer
•
Video Technologies
•
UI control provides interface for recording video on
devices with camera
•
Media Player Framework
play full or part screen
movies
•
Objective
-
C interfaces for managing capture and
playback of movies
•
Video Formats: H.264 in Low Complexity and Baseline
Profile; m4v, mp4, .
mov
formats
•
MPEG
-
4 Video (Simple Profile) up to 2.5 Mbps 640x480
pixels, 30fps (.m4v, .mp4, and .
mov
)
Media Layer: Audio Frameworks
•
AirPlay
–
Facilities for streaming audio to
AirPlay
speakers,
receivers, and
AppleTV
.
–
Audio content played using any of the Core or
Media layer audio facilities can be used with
AirPlay
.
iOS
Layers
Core Services
•
iCloud
Storage
–
Application can write user documents and data to
a central location.
–
Documents and data are accessible from all of the
user’s devices, without having to sync or transfer
files explicitly.
–
iCloud
also supports a (small) key
-
value data store
that is not visible to the user.
iCloud
Core Services
•
Automatic Reference Counting
as opposed
to garbage collection.
•
Block Objects
closures, also called lambda
blocks.
–
In
-
line delegates/delegate methods, callbacks,
handlers, asynchronous tasks.
•
File
-
Sharing
Documents directory
readable/writeable using iTunes from another
device.
Core Services
•
Grand Central Dispatch
asynchronous
programming that’s more efficient than
threads.
•
In
-
App Purchase
App can process financial
transactions using iTunes account.
•
SQLite
In
-
App connection
-
less database.
•
Core Data
Xcode
buildable schema,
manages SQLite DB for app, MVC support
Core Services
•
Telephony Framework
–
Interact with phone
-
based information
–
Information about cellular provider,
–
Notifications of cellular call events
–
Cellular radio information, such as signal strength.
Core Services
•
Newsstand Kit Framework
–
For publishers to provide their own apps for
reading magazines and news papers.
•
Pass Kit Framework
–
Support for downloadable passes. Companies can
create passes, coupons, boarding passes, event
tickets and coupons and discount cards for their
businesses.
–
Framework objects connect directly to a
companies web services.
Android
•
Linux kernel
•
Runtime includes core libraries and
Dalvik
VM
•
Every Android app runs in its own process with its own
VM
•
Android uses a set of C/C++ libraries. These are
exposed to developers
–
C
-
library based on BSD
–
Media library is based on
PacketVideo’s
openCORE
•
Any application may publish its capabilities and then
any other application can utilize those facilities
Android API’s
•
Animation and Graphics
–
Access to Android’s
graphics features such as
OpenGL, hardware acceleration, and built
-
in UI
animations.
–
Android
APIs
for applying animation to UI
elements and drawing
2D
and 3D graphics
.
–
OpenGL
OpenGL ES, which is OpenGL for
embedded devices.
Android API’s
•
Media and Camera
–
Add video, audio, and photo
capabilities;
APIs for
playing and recording media
.
–
Support
for playing
common audio, video and
image types. Supports playing media
from
file
resources,
from standalone files in the
filesystem
,
or from a
network data stream.
–
Support
for
encoding audio with common formats
–
Camera
capture and manage pictures & video
Android Optional API Add
-
Ons
•
AdMob
–
Advertising
network that helps app developers
monetize and promote their mobile and tablet
apps with ads
.
Android Optional API Add
-
Ons
•
Analytics App
Tracking
–
Connect
user interactions with paid ads, Google
Play downloads, and subsequent in
-
app
usage and
Ecommerce
transactions.
Android Optional API Add
-
Ons
•
Cloud
Messaging
–
A
service that allows you to send data from your
cloud server
to your users' Android
-
powered
device.
Android Optional API Add
-
Ons
•
Play
Services
–
Common
access to Google services such as Maps
and Google+; Single authorization, billing,
licensing, and automatic updates.
Android Optional API Add
-
Ons
•
Web
Driver
–
W3C Web Driver Implementation.
–
A
llows
programs or scripts to introspect into, and
control the
behaviour
of, a web browser. The
WebDriver
API is primarily intended to allow
developers to write tests that automate a browser
from a separate controlling process,
Android Optional API Add
-
Ons
•
APK Expansion
Library
–
Allows
apk’s
to be larger than 50MB so they may
include media or other large resources.
Cst594 Mobile Computing
THANK YOU
QUESTIONS ?
Cst594 Mobile Computing
Enter the password to open this PDF file:
File name:
-
File size:
-
Title:
-
Author:
-
Subject:
-
Keywords:
-
Creation Date:
-
Modification Date:
-
Creator:
-
PDF Producer:
-
PDF Version:
-
Page Count:
-
Preparing document for printing…
0%
Σχόλια 0
Συνδεθείτε για να κοινοποιήσετε σχόλιο