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"
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:
overview of basic concepts
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.
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:
- 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...);
- taking time to carefully read their installation procedure will save you from wasting time figuring out why your install didn't work;
- 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);
OS Emulator or Palm OS Simulator to test your executables.
By the way, Palm OS Website offers a page on all the points above.
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:
Each of those apps has its own section. Here they
are, sorted by complexity:
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!