Post on 25-Feb-2016
description
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
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 Layout• 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
• Display app content on a cable connected external device• Query and display and set screen resolutions
Cocoa Touch Frameworks
• Address Book UI Framework • Access 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
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.
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.
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.– Allows 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.