Article Index |
---|
Palm webOS by O'Reilly - Chapter 1 Summary - Part 2 |
Stages and Scenes |
UI Widgets |
Palm webOS Architecture |
All Pages |
Page 4 of 4
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