Home > Palm > Tutorial
  Palm Tutorial

Palm Programming Tutorial - Overview






Palm Tutorial 1: Hello
Palm Tutorial 5: DB
Palm Tutorial 8: Beaming
Palm Tutorial 2: Forms
Palm Tutorial 6: UI
Palm Tutorial 9: Serial
Palm Tutorial 3: Menu
Palm Tutorial 7: I18n
Palm Tutorial 10: Find
Palm Tutorial 4: Prefs

Palm Programming Tutorial - Goal

Palm Programming Tutorial was designed to help developers program mobile applications for Palm OS platforms. Programming a Palm application requires the developer to understand several programming concepts. Palm Programming Tutorial addresses the following:

  • UI (User Interface)
  • DB (Database)
  • System Integration (Preferences, Global Find...)
  • Beaming (Infrared)
  • Serial Communications

Developing applications for non-mobile platforms seldom requires the programmer to know that many concepts, not to mention that application development is often a teamwork, where each programmer has their area of expertise.

Not so for Palm OS development: YOU have to be the Architect, Programmer, Graphics Designer, Database Administrator, Database Developer, Tester, and... Project Manager! That's a lot for one guy, but that's just the way it is!

When one has to start developing for a platform s/he doesn't know, it's usually hard to get started:

  • "What is the best language to use for the kind of app I'd like to develop?"
  • "Where can I get the tools and documentation?"
  • "Cool, I've got all them toolz and docz... Er... They're so huge that I don't know where and how I should start"
  • etc.

After I found (most) answers to the questions above, I thought it might help other wanna-be Palm OS developers who want to get their feet wet. The purpose of Palm Programming Tutorial is only educational. Topics such as performance, portability, profiling, etc. have intentionally not been given the highest priority.

I hope you'll enjoy taking this Palm OS tutorial as much as I did when I wrote it!

Enough said... Let's start.

Palm Programming Tutorial - Method

Each section of the Palm Programming Tutorial deals with a specific topic. We'll start with simple concepts and increase complexity each time we move on to the next section. There is no obligation to take each section. However, it's a good idea to complete the tutorial from beginning through end.

For each topic, you will get:

An objective

An overview of basic concepts

An exercise

A solution

Palm Programming Tutorial - Requirements

All the links below contain the required tools, documentation and installation process of everything that you need to follow this tutorial. Please refer to those to proceed with their installation, use and support. Palm Tutorial only focuses on programming Palm OS applications. I strongly suggest you complete this requirements section before you move on and dive into the tutorial (I understand your impatience, though :-).

Design and Programming skills required

You have to be familiar with C language, C compiler, "make" command and makefiles, basic UI and DB development.

Tools required

Preliminary note: as you may guess, designing, putting this tutorial together, and maintaining it (since 2003) was a significant amount of work. This tutorial deals with coding and API's, *not* with programming tools. So, if you need support with the following tools, please contact their authors directly.

My two cents:

  1. it's good to expect that installing those tools is not a one-second click-and-run process (this was my first cent... read on...);
  2. taking time to carefully read their installation procedure will save you from wasting time figuring out why your install didn't work;
  3. here's a detailed installation procedure... see? you finally got three cents!

In order to compile the applications of this Palm tutorial, you need to install:

  • Cygwin (this Unix emulation layer is required only for Win32, as tools below are Linux/Unix-ready);
  • PRC-Tools includes a gcc crosscompiler, a linker and a .prc builder; what you get is an executable you can install on a Palm device, on an emulator, or on a simulator (more below on those);
  • PilRC to compile .rc resources;
  • make utility to invoke all the tools required, from compiling .c sources and .rc resources, then linking those with .lib libraries, and generating a .prc (make is either packaged with your Linux/Unix/Cygwin, or downloadable from their respective Web site);
  • Palm SDK 3.5 (For later versions, you may have to update Makefiles of the tutorial);
  • Palm OS Emulator or Palm OS Simulator to test your executables.

By the way, Palm OS Website offers a page on all the points above.

Documentation required

Last but not least , you should have three documents at hand:

Palm Programming Tutorial - Contents

Here's the big picture. Palm Programming Tutorial gives you the opportunity to develop the following apps:

Palm Tutorial

Each of those apps has its own section. Here they are, sorted by complexity:

Palm OS Tutorial - Beginner
Section 1
Palm Tutorial
Section 2
Palm Tutorial
Section 3
Palm Tutorial
Section 4
Palm Tutorial


Palm OS Tutorial - Intermediate
Section 5
Palm Tutorial
Section 6
Palm Tutorial
Section 7
Palm Tutorial


Palm OS Tutorial - Advanced
Section 8
Palm Tutorial
Section 9
Palm Tutorial
Section 10
Palm Tutorial

Palm Programming Tutorial - Legal notice

Palm Programming Tutorial was written by Eric Poncet.
Palm Programming Tutorial is the exclusive property of Eric Poncet and shall only be used for educational and ethical purposes. Modification of any kind is not permitted.

Palm OS, HotSync and Graffiti are registered trademarks of Palm Computing, Inc.
Java is a trademark of Sun Microsystems, Inc.

Palm Programming Tutorial - Feedback

Your comments on this Palm OS tutorial are more than welcome. Here's why:

  • readers' feedback has proved very instructive;
  • this tutorial has improved over time thanks to readers' suggestions;
  • it's a way for you to participate in a not-for-profit effort that benefits to the whole Palm Developers' community;
  • and... well... I really like reading from people from all over the world!

Good luck!


[ Copyright © 2000- Eric Poncet - All rights reserved ]

[ Stages de musique ]

[ Stage de musique classique | Stage de musique baroque | Stage de musique de chambre | Stage de musique latine ]
[ Stage de jazz | Stage de musiques actuelles | Stage de funk | Stage de metal | Stage de pop | Stage de reggae | Stage de rock ]
[ Stage d'improvisation | Colonie musicale ]