Palm OS Web Application Developer's Guide: Developing and Delivering PQAs with Web Clipping

One of the revolutions in computing in the last decade is the rise of component-based programming. Many programmers find themselves using off-the-shelf components to perform major tasks within their programs. Rather than having everyone write their own mail clients, Web browsers, help systems, or word processors, modern software systems use existing applications through interfaces that allow them to be linked together.
On Windows systems, dynamic link libraries (DLLs) are used to allow programs to share libraries. These libraries provide functions that are common to multiple programs. A good example is the user32.dll, one of the Windows system DLLs. This library provides access to functions that affect the user interface on Windows, such as routines to show dialog boxes, to change menus, or to control the mouse pointer. Rather than having each programmer build his own method of performing these tasks, the designers of Windows created common code and put it into this DLL now all Windows programs use this. Mac OS and Unix systems also use this concept of a shared library but with different implementations.
Shared libraries are useful tools, but they have some problems. One problem is that to use a shared library, you have to understand exactly how to load it into memory, find the function to call, set up the parameters correctly, and handle the return value. To solve these issues, desktop systems tend to use rather complicated methods. On Windows, the Component Object Model (COM) exists as a huge specification for using the services of...