www.webOShelp.net

Get the latest on:webOS Developers' RSS FeedwebOS Facebook page webOS Twitter Feed

Home Article Listing Palm webOS by O'Reilly - Chapter 1 Summary - Part 2 - Palm webOS Architecture

Palm webOS by O'Reilly - Chapter 1 Summary - Part 2 - Palm webOS Architecture

Article Index
Palm webOS by O'Reilly - Chapter 1 Summary - Part 2
Stages and Scenes
UI Widgets
Palm webOS Architecture
All Pages

Palm webOS Architecture

  • Section not required to build webOS apps - included for interest
  • webOS based on Linux 2.6 kernel
  • Combination of open source and Palm components providing user space services
  • referred to as Core OS
  • Access through Mojo and various services; no direct interaction with core OS
  • Users interact with apps and UI system manager which is responsible for the system UI
  • collectively known as Application Environment

Application Environment

  • App runtime envrionment managed by UI system manager
  • presents system UI manipulated by user
  • Framework provides access to UI widgets and Palm servivces
  • Environment supported by core OS environment: embedded Linux OS with custom sub-systems handling:
    • telephony
    • touch and keyboard input
    • power management
    • storage
    • audio routing
  • All core OS capabilities managed by application environment and exposed:
    • to end user as system UI
    • to developer through Mojo APIs
  • App environment refers to System User Experience and feature set exposed to app developer, represented by Mojo Framework and Services
  • Core OS covers everything else:
    • Linux kernel and drivers
    • OS services
    • Middleware
    • Wireless subsystem
    • Media subsystem
  • UI System Manager (UISysMgr) is responsible for almost everything visible to the user
  • App runtime provided by app manager:
    • loads individual apps
    • hosts built-in framework and some special system apps, status bar, launcher
    • runs in a single process
    • schedules and manages each running app
    • handles all rendering through interfaces to Graphics sub-system and on-device storage through interfaces to SQLite
  • apps rely on framework for UI features and service access
  • UI features built into framework and handled by app manager directly
  • service requests routed over Palm Bus to appropriate service handler

Core OS

  • Core OS based on version of Linux 2.6 kernel
  • standard driver architecture managed by udev with proprietary boot loader
  • Supports ext3 filesystem for internal (private) file partitions and fat32 for media file partition
  • media file partition can be externally mounted via USB
  • Wireless Comms system provides connection management that automatically attaches to WAN and WiFi networks when available
  • Switches conneections dynamically, prioritizes Wifi connections when both are available
  • EVDO or UTMS telephony and WAN data supported depending on device model.
  • webOS supports most standard Bluetooth profiles and provides simple pairing services
  • Bluetooth subsystem tightly integrated with audio routing to dynamically handle audio paths based on user perferences and peripheral availability
  • Media server based on gstreamer
  • includes support for:
    • numerous audio and video codecs
    • file and stream-based playback
    • mainstream image formats
    • image capture through built-in camera
  • video and audio capture not supported in initial webOS products but inherently supported by architecture

Software Developer Kit (SDK)

  • Includes tools, sample code, Mojo Framework, access to Palm Developer wiki with formal and informal training materials, tutorial and reference documentation
  • Registered developers also get direct technical support by email or hosted developer forum

Development Tools

  • Palm Developer Tools (PDT) installed from SDK and include targets for:
    • Linux
    • Windows (XP/Vista)
    • Mac OS X
  • Tools enable you to:
    • Create new Palm Project using sample code and framework defaults
    • Search reference documentation
    • Debug your app in webOS emulator or attached Palm device
    • Publish an app
  • Tools include:
  • SDK bundle installer: Installs all webOS tools & SDK for 3rd party editors
  • Emulator: Desktop Emulator and Device Manager
  • Command-Line Tools:
    • Create New Project
    • Install & Launch in Desktop Emulator or Device
    • Open Inspector/Debugger Window
    • Package & Sign App
  • Tools can be installed as command-line on every platform; include bundles for integration into popular HTML editors and plug-ins for Eclipse and Aptana Studio.
  • Refer to Palm Developer Portal for most current list of supported editors and tool bundles

Mojo Framework and Sample Code

  • SDK installation includes copy of Framework and sample code
  • Don't need to include Mojo framework with app code because framework resident on device
  • Framework code included in SDK for reference purposes and debugging
  • Sample code includes samples for most significant framework functions including application lifecycle functions, UI widgets, each of the services.

Developer Portal

  • Main entry point: developer.palm.com
  • Provides:
    • SDK
    • development tools
    • documentation
    • training materials
    • application signing services
    • access to app catalog
      • app store published and promoted with every webOS device


 

0 Comments

    Add Comment


      • >:o
      • :-[
      • :'(
      • :-(
      • :-D
      • :-*
      • :-)
      • :P
      • :\
      • 8-)
      • ;-)