Applications run one at a time. In response, the Palm OS stops the current application and launches the newly selected one. Although Palm OS applications are event-driven, they may perform work outside of the event loop in response to other system requests. For example, if the user uses the Find facility to search the device for a particular word, each application is launched and asked to search its databases for a record containing data that matches. The same PRC runs on all Palm branded devices as well as all licensee devices such as Handspring, Symbol, or Sony.
Some devices do have individual characteristics that can be coded to.
You choose a development environment based on the programming language you want to use, but be aware of the consequences of the choice you make. This keeps your application compact and efficient. Some of these environments require the engine be present on the device, and others compile runtime elements into the application. In either case, the resulting code base is not as compact as with the C-based applications. However, the runtime engines are typically free to the user, and the development tool may very well add enough benefit to make the increase in code size worthwhile.