Palm OS Overview
Developing for the Palm OS is in some ways similar to other platforms and in other ways strikingly different. Two important similarities are as follows:
Applications are event-driven.
You can use anything from C++, to standard C code, to assembler, to scripting.
Differences tend to center around features crucial to the device size and purpose. These include how the Palm OS handles:
Memory requirements
Application and data storage
Connectivity of the device to the desktop
Most importantly, you should remember that the relationship between the device and the OS is extremely tight. Further, everything has been built on the premise that the handheld is an extension, not a miniature version, of the desktop. It specializes in ensuring that mobile tasks are simple and fast.
Interaction Between an Application and the OS
First, let’s examine this tight interaction of the OS and the applications on the handheld. The Palm OS runs on top of a preemptive multitasking kernel. One task runs the UI, while other tasks handle things like monitoring input from the stylus. The UI permits only one application to be open at a time. Thus, when your application is open, it (more or less) has control of the entire screen.
Tip
Because applications run within the single-user interface thread and can’t, themselves, be multithreaded, the multitasking provided by the kernel is for the operating system’s use only, and isn’t available to you.
Memory
Memory is handled in an unusual fashion (discussed ...
Get Palm OS Programming, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.