[prog] Programming PDA's

Diggy Bell diggy at dbsoftdev.com
Fri Apr 30 01:13:04 EST 2004

----- Original Message ----- 
From: "Dan Richter" <daniel.richter at wimba.com>
To: <programming at linuxchix.org>
Sent: Thursday, April 29, 2004 8:30 AM
Subject: [prog] Programming PDA's

> Can anyone give me a summary of programming on PDA's/Palmtop computers?
> How much portability is there? What languages are most supported?

I've messed with a few PDA's so I'll throw my $0.0002USD in...

PalmOS: This little jewel is like nothing you've ever seen before.  It's a
strange mix of 16-bit DOS, 16-bit Windows, StudlyCaps-gone-nutz and a good
dose of Apple-isms thrown in there too.

Most of your programs are small, and run an event loop much like most GUI
environments.  You work with forms (windows), dialogs and controls.  You can
also do some interesting graphics work, especially on the newer color

The one really strange quirk is the file system, if you want to call it
that.  You've got a very simple 'database' layer that lets you manage
record-based files.  There's also a stream library that gives you something
like stdio.h in Linux.

Most of the development on Palm is either C, or C++.  C++ is particularly
dangerous with Metrowerks CodeWarrior due to the way they implemented
virtual functions.  There has been some interesting Java stuff with Waba and
Superwaba, but the device is really short on both processor and memory so
Java can be a source of some serious stress.

PocketPC: What can I say?  It's Windows.

Your development tool is a 'modified' Visual Studio IDE with a different
compiler and resource editor.  You've got most of the Win32 API, and all of
the baggage of Windows.  The programs themselves tend to be less bloated
than their desktop counterparts.  But if you have to struggle through
Windows development, at least it's on a device with an MP3 player!

Developers can use C/C++, or I think you can also use Visual Basic (don't
hold me to this one).  No surprises here...Windows is Windows is WIndows...

You've got something more like a file system to work with, but the M$
concept of a 'database' manager falls even more short than PalmoS.

In terms of portability, that part is really easy...there isn't without you
doing some work on your side.  It is possible to build a platform
abstraction layer that can be used to develop on both PalmOS and PocketPC,
but that's not a task for the faint of heart.  I've done it in C++ and don't
think that will be happening again.

I don't have first hand experience with the Agenda or the Zaurus, but a
friend is a contributor to both.  He's pretty happy with the Zaurus overall.
These days he's walking around the office with a 802.11 CF card in his Z
making everybody jealous.  I think the biggest shortcomings are more in the
typical PDA synchronization area.  But there are some really interesting
deployment ideas if you think about the Z using rsync the same way as you
might sync web applications/content to a server pool.


More information about the Programming mailing list