This chapter deals with the what and the how of things. First, we show you what you’re programming for—the nuts and bolts of the Palm OS. Then we show you how to do it—the available development environments. By the time we are through, you should have a good idea of the range of applications you can create for the Palm OS, the coding requirements, and which development environment you want to use.
Developing for the Palm OS is in some ways similar to other platforms and in other ways strikingly different. Two important similarities are:
Applications are event driven.
You can use anything from 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:
Application and data storage
Connectivity of the device to the desktop
Most important, you should remember that the relationship between the device and the OS is extremely tight. Everything has been built on the premise that the handheld is an extension of the desktop and that it must be responsive to the user.
Let’s look in more detail at 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 user interface. Other tasks handle things like monitoring input from the tablet.
The user interface permits only one application to be open at a time. Thus, ...