PalmPilot's popularity is growing and with over a million units sold, the Palm OS dominates the hand-held market. Wired has astutely described Palm's position in a recent article: "On its way to becoming the bestselling hand-held computer of all time, the 3Com PalmPilot has spawned an intense, emotional, and fanatical developer following not seen since the glory days of the Mac." (Wired, 20 Feb. 98).Palm Programming should be eagerly accepted by programmers because the authors worked closely with Palm to ensure that the book is tailored exactly to the needs of the ever-growing group of Palm developers. As nothing but some piecemeal documentation exists currently, this book provides a much needed solution to the Palm developers. In fact, Palm uses this book as their official developer's guide and will be using it in the future as a key part of their training materials for developers.There are currently no books on Palm programming (and we know of none that are planned). The only way to learn is by using the reference material published by Palm (available freely on their Web site), the tutorial they provide, or various Palm programming FAQs compiled by third parties.Palm Programming shows intermediate to experienced C programmers how to build a Palm application from the ground up. Using an easy-to- understand tutorial approach, this book gives readers everything necessary to create a wide range of Palm applications and conduits, from simple scripts through full-blown applications, and in the process provides thorough coverage of Palm programming. It includes a CD-ROM (Macintosh and Windows compatible) with the full source code to the examples in the book, a trial version of Palm's Software Development Kit, and third-party developer tools, including Metrowerks' CodeWarrior Lite programming kit.OutlinePart 1: Overview of Palm OS and devicesChapter 1: The Palm SolutionChapter 2: Developing for Palm OSChapter 3: Designing a solutionPart 2: Programming for the handheldChapter 4: Structure of an ApplicationChapter 5: Forms and Form ObjectsChapter 6: DatabasesChapter 7: MenusChapter 8: ExtrasChapter 9: CommunicationsChapter 10: DebuggingPart 3: Programming for the desktop: conduitsChapter 11: Getting started with conduitsChapter 12: Uploading and Downloading DataChapter 13: Two-way Syncing Appendix: Where to go from here
Palm Programming: The Developer's Guide succeeds in documenting both the elegance and the pitfalls associated with developing software for this handy gadget. The authors are experienced palmtop developers, and their wisdom is evident in the level of detail provided. A comprehensive introduction to the evolution of the device and its systems opens the book, followed by a classic "hello, world" example program.
The complexity continues to increase as the reader is introduced to forms design and handling and Palm Databases interaction (the equivalent of the Windows registry). Rounding out the applications-development tutorials is an excellent discussion of event-driven user interface (UI) programming and the widgets available in the Palm toolbox.
A number of development options and platforms are covered. If you don't want to shell out hundreds of dollars for commercial software, GNU's Not Unix (GNU) tools from the Free Software Foundation are presented as a viable option. The discussion of conduit development is limited to Visual C++, but only because of the limitations of the official Conduit Developers Kit. --Tim Kohn