CS4521:   Mobile and Topics in Web Programming

iPhone SDK Technology Layers

supports - iPhone, iPad

SDK layers

  • Core OS
    • LibSystem library - access to low level and system functions
      • threading (POSIX threads)
      • networking (BSD sockets)
      • file system access
      • standard I/O
      • Bonjour and DNS Services
      • Locale Information
      • memory Allocation
      • Math Computations

  • Core Services
    • system services all iPhone applications use
    • frameworks and libraries:
      • core foundation framework - C based interfaces :
        • collection data types (arrays, sets)
        • application bundle support
        • date and teim management
        • raw data management
        • preferences management
        • URL & Stream services
        • Thread & Run-loop
        • Port & socket communication
      • CFNetwork framework - C based interfaces surrounding networking
        • BSD Sockets
        • FTP & HTTP(s) communication
        • Bonjour Network services
        • DNS Host resolution
        • Encrypted SSL or TLS
      • Security framework - built in security
        • Certificate & Key management
        • Generate pseudo-random numbers
        • Keychain
      • SQLite library - database support, including local database tables.
      • XML libraries - support for XML, opensource for parsing and translating XML to HTML
        • libxml2
        • libxslt
  • Media
    • Graphics
      • Quartz - library for 2D, vector graphics, images
      • Core Animation - Objective C for animation, window transitionsand feedback
      • OpenGL ES - mobile version for OpenGL - 3D graphics, gamming
    • Aduio
      • Core Audio & Audio Toolbox framework- short sounds, vibration, play and capture audio
      • OpenAL - 3D spatial audio, used in gamming sometimes.
    • Video
      • MediaPlayer framework - compression for video and audio, MPEG, etc.

  • Cocoa Touch - primary event driven and interface (GUI), access built in camera, etc.
    • UIKit framework - GUI and events
      • Application integraton - use other applications via system message (i.e. call phone, open safari, drop a pin in maps app, display youtube or create a mail, or your own other applications
      • Graphics and windows
        • Views = a few is the layout.
        • View have controls. iphone main view
      • Event- handling
        • MULTI TOUCH EVENTS model : instead of mouse and keyboard use one or more fingers and tracking (location and direction of movement) to manipulate. Recognize gestures and give responses.....Zoom in response = pinch gester. Scroll = flick gesture
© Lynne Grewe