370 likes | 566 Views
Cst594 Mobile Computing. Native Platform API Comparison. by: Dr. Tim Lindquist April 2, 2013. 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.
E N D
Cst594 Mobile Computing Native Platform APIComparison by: Dr. Tim Lindquist April 2, 2013
Platforms • iOS • Android • Windows Phone
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’sopenCORE • 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 • Aservice 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.
Cst594 Mobile Computing Cst594 Mobile Computing THANK YOU QUESTIONS ?