1 / 37

Native Platform API Comparison

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.

daria
Download Presentation

Native Platform API Comparison

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cst594 Mobile Computing Native Platform APIComparison by: Dr. Tim Lindquist April 2, 2013

  2. Platforms • iOS • Android • Windows Phone

  3. iPhone App Runtime Layers

  4. 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

  5. iOS Layers

  6. 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)

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. iOS Layers

  15. 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)

  16. 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

  17. 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)

  18. 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.

  19. iOS Layers

  20. 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.

  21. iCloud

  22. 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.

  23. 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

  24. 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.

  25. 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.

  26. 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

  27. 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.

  28. 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

  29. Android Optional API Add-Ons • AdMob • Advertising network that helps app developers monetize and promote their mobile and tablet apps with ads.

  30. 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.

  31. Android Optional API Add-Ons • Cloud Messaging • Aservice that allows you to send data from your cloud server to your users' Android-powered device.

  32. Android Optional API Add-Ons • Play Services • Common access to Google services such as Maps and Google+; Single authorization, billing, licensing, and automatic updates.

  33. 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,

  34. 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.

  35. Cst594 Mobile Computing Cst594 Mobile Computing THANK YOU QUESTIONS ?

More Related