PDA

View Full Version : creating a palm app


lancelot
03-18-2003, 06:47 PM
where can o go to find out more about creating a palm app? and can any schmucko like me do it or does it require skillfull programming know-how?

rhart00
03-18-2003, 07:20 PM
usually it requires some "skillfull programming know-how" to make an app for palm os. here is good place to get started (http://www.palmsource.com/developers/) good luck

iebnn
03-18-2003, 07:28 PM
Try www.caslsoft.com for an easier to learn (but still very powerful/expandable) way to code palm apps.... I started with that...... you can code parts of your apps in C, but only if you want to. It uses a simpler language.

Shouldn't this be in the development board?

elf
03-18-2003, 07:34 PM
Programming for Palm is just like programming for any other computer.

One nice thing about programming on the Palm is that you can run your program on the Palm simulator which is running on your PC. If your Palm program crashes (perhaps I should say "when" :D ), then only the simulator crashes.

There is a BASIC (-like) interpreter for Palm so novices can write toy-programs for personal use. Go google the Palm Programming FAQ for more info on this.

If you are planning on writing an application that you plan on selling or making available for free, on palmgear.com for example, then you have to write it in C (perhaps C++ is available too) using the Palm SDK.

iebnn
03-18-2003, 07:43 PM
Why can't you release applications coded with other languages, elf? Why only C or C++?

philipx
03-19-2003, 12:25 PM
Originally posted by iebnn
Why can't you release applications coded with other languages, elf? Why only C or C++?


Who said that?

Here is a list of alternatives to C (http://goanna.cs.rmit.edu.au/~winikoff/palm/dev.html) for Palm.

Are you surprised yet by the wide array of options you have?

iebnn
03-19-2003, 03:19 PM
philipx, elf said that: "If you are planning on writing an application that you plan on selling or making available for free, on palmgear.com for example, then you have to write it in C (perhaps C++ is available too) using the Palm SDK"

Hence "Why can't you release applications coded with other langauges, elf?"

My first two products released on Palm Gear were coded in Pocket C and CASL. I use GCC (with falch.net developerstudio) now, though.

philipx
03-19-2003, 04:29 PM
Appologies. My bad!

iebnn
03-19-2003, 08:06 PM
Sorry, I'm a little on edge tonight.

ayasin
03-20-2003, 12:10 AM
C is probably the most popular language for Palm programming. There _are_ other options, but most of them require a runtime to be installed as well. The C apps tend to be faster and smaller footprint as well as giving you access to _all_ the features of the system (ok, I'm showing my bias here ;) ). Also there are pretty serious issues with writing any largeish apps in C++ for various technical reasons that I won't reproduce here. GCC is a pretty good tool chain _if_ you have developed before. If you are a novice I suggest an IDE such as Falch.net or CodeWarrior (depending on the level of financial commitment you want to make).

ThomasK
03-20-2003, 03:08 AM
C/C++ is not only the most popular language for Palm programming. I think today it is the mostly used language in embedded systems (I work in this field so I know about this).
This implies that it makes sense to program the Palms in C/C++. I can recommend everybody who starts programming in the Palm environment to do this in C/C++.

iebnn
03-20-2003, 06:52 AM
Originally posted by ayasin
C is probably the most popular language for Palm programming. There _are_ other options, but most of them require a runtime to be installed as well. The C apps tend to be faster and smaller footprint as well as giving you access to _all_ the features of the system (ok, I'm showing my bias here ;) ). Also there are pretty serious issues with writing any largeish apps in C++ for various technical reasons that I won't reproduce here. GCC is a pretty good tool chain _if_ you have developed before. If you are a novice I suggest an IDE such as Falch.net or CodeWarrior (depending on the level of financial commitment you want to make).

I'm working on a project in C++ for Palm, and it's over 150kb already. I see no problems with this. What are the problems?

Yes, C apps in Palm tend to run faster, but not very noticably faster if it's a business application or something other than a game or multimedia application. Also, not all of the other options require a runtime.

Probably the best alternative to using pure C to code a Palm app is CASL. It compiles your programs through GCC, and has no runtime -- the apps run faster than every other C alternative I've tried. On top of that, you can code functions in C and call them from other parts of your application, making it very powerful.

A huge advantage of using something like CASL is that you can have an application developed in around 1/2 to 1/5 the time it would take to code it in C. C apps take much longer to write. Especially for someone new to palm programming (or programming in general), using C could be a little daunting (2 pages of code just for Hello World, while it takes just a couple lines in CASL).

ayasin
03-20-2003, 11:15 AM
Originally posted by iebnn


I'm working on a project in C++ for Palm, and it's over 150kb already. I see no problems with this. What are the problems?




The compiled size of C++ apps tends to be larger than that of C apps though some of that can be mitigated by compiling with options that suppress exceptions and such. The runtime memory footprint of C++ (an app that actually _uses_ C++ features (exceptions, templates, inheritance, polymorphism, streams) rather than being just a better C will be significantly larger. If you are ok with that then that's fine, but if you have 30 or 40 classes you will have problems unless you start jumping though hoops much sooner than you would have to with C. Just as an example, I had a C++ app that I converted to C. The _static_ footprint of the app reduced from 32k to 9k (although compiling with -fno-exception reduced the footprint to ~20k before the rewrite). I have programmed in both C and C++ for many years and definately prefer C++ when I can get away with it. Unfortunately I don't feel that it's worth paying the cost for the cool features in an embedded environment where I have a very limited heap.



Yes, C apps in Palm tend to run faster, but not very noticably faster if it's a business application or something other than a game or multimedia application.


It depends what the business app is doing...calculating a spredsheet would definately run faster in C/C++ than in Basic, but in general I agree with this point.



Also, not all of the other options require a runtime.



I said most not all.

Probably the best alternative to using pure C....
I'm a fan of anything that makes my life easier. This includes code templates, wizards and other things. As I mentioned in my original post, it depends on your level of financial commitment. ~$85 may be out of the question of you, but if it's not and you want to get started quick, then go for it. The original post was not anti-non c development as you seem to have taken it, it was just mentioning that C is most popular and a couple of reasons for its popularity.

iebnn
03-20-2003, 07:10 PM
I use classes and some other features of C++, and don't include some of the larger parts of C++ that I don't use when I compile it. C++ makes a lot of sense for this project.

Of course there are some types of business apps that require a lot of cpu power.... but for most purposes such speed is not needed.

Just wanted to clarify some things so that others won't misunderstand your post.

If you haven't done any or much programming before, though, C will probably be a little complex to enter right into with Palm OS -- I started with AppForge, then used CASL, and now code everything in C/C++ for Palm (except for some contract jobs, which can be faster/easier to do using something like CASL. This is where the RAD or semi-RAD languages are very useful)

ThomasK
03-21-2003, 02:53 AM
Hi, I created a new thread for the efficiency of OS5 compilers, because I know that the runtime strongly depends on the code generation of the compiler.
We should better discuss over there.

pacamilo
03-21-2003, 05:03 AM
I think I answered the same, some weeks ago, to another guy.

So, I've tried CASL, PocketC, and now I'm testing Superwaba.

Con: the 300 Kb runtime.

Pros:
It's easy. I'm serious. The learning curve is easy, since you install it.
It's (almost) java.
It's free.

And for my interests it interfaces with the Palm apps: Datebook, Notepad, etc.

It compiles to WinCE also (I don't care)

I think that the install procedure is the worse part of the matter. But

http://www.superwaba-france.com/

has a good reference/recipe to install all the tools you need.


The home for Super waba (english, although the author of Superwaba is a brazilian guy) is

www.superwaba.com.br


How I started ?

I'm an IT Director of a Credit/Debit Card Company - so I have little extra time: I must take all the free time to work on a easy, although powerful tool with pratical, good, quick results.

I think C and C++, are the all time languages to Palm or anything elase: if you have the time to learn it, to use it; I think that C and C++ are for those peaople that are seriously commited with the development as a work life or a career.

Just isn't for me. I just don't have that time to it.

So, I'm addicted to Superwaba, because the Java/object concepts are very interesting; it's a langauge that you can use in every system (even in a chip card), and the results on a Palm are very, very interesting.

So, how I started ?

I bought 2 or 3 books about java:
1 in portuguese about Java and the object oriented programs to understand all of this concepts.
2 about the java itself :
"Thinking in java" , Bruce Eckel, PH PTR
"Java, How to Program", Deitel & Deitel, Prentice Hall

I also bought the 3 tutorial series of the superwaba on their site. I'm now following the user Interface Tutorial, wich is very, pratical and allow to use the language on the fly, in 5 minutes.

I'm trying a little program to make a Database of restaurants (in Portugal, we have a lot of places where we can eat - and drink, very well)

My next project is to interface with the Datebook, to achieve my own week view.

My dream is to make a Civ type game...

iebnn
03-21-2003, 07:13 AM
The java apps that I've tried really didn't conform to palm os standards.... is this still the case with the latest superwaba release?

What didn't you like about CASL? Just curious.

pacamilo
03-21-2003, 09:36 AM
I think the language you choose is a matter of taste, feeling, student know how, time to learn.


I tested an older version of CASL 2-3 years ago (machines Palm V, Handera). I didn't like it.
That time I just wanted to manage and "work" the Datebook, and the support to native Palm Dbs wasn't quite good.

But as I said, I'm interested in Java (java card) and SuperWaba seems now quite interesting to me.

I know it's not native, and the overhead you obtain with the runtime....and I'm sure it's not quite fast as C or CASL (I think). But I like it !

pacamilo
03-21-2003, 09:47 AM
I think the language you choose is a matter of taste, feeling, student know how, time to learn.


I tested an older version of CASL 2-3 years ago (machines Palm V, Handera). I didn't like it.
That time I just wanted to manage and "work" the Datebook, and the support to native Palm Dbs wasn't quite good.

But as I said, I'm interested in Java (java card) and SuperWaba seems now quite interesting to me.

I know it's not native, and the overhead you obtain with the runtime....and I'm sure it's not quite fast as C or CASL (I think). But I like it !

iebnn
03-21-2003, 03:08 PM
Hm, the support in CASL for native palm dbs is fine... it's very easy to work with. I've made a couple apps that interact with the address book and memo pad databases, and had no problems (it was much less code than with C too).

It is not only taste. Well, some of it is, but it also depends on what you're developing. You can make games with Pocket C, but forget trying to make a text editor with it (for example).

ayasin
03-21-2003, 11:46 PM
Originally posted by iebnn
It is not only taste. Well, some of it is, but it also depends on what you're developing.
Also who your developing it for and why. If your a hobbiest just about anything is ok, if your a professional developer your choices are more limited (client needs, market considerations, etc)

iebnn
03-22-2003, 07:34 AM
And the amount of time you have to finish the project plays a big part in it.

roast
03-28-2003, 04:17 PM
I've been using the J2ME WTK, and plan on going to super-waba, I do like pure O-O design, but find the J2ME interpreter useless for any palm computing device.

What I do like about the Micro Edition, is the fact that I can put my small app/databse/whatever onto any cell phone/blackberry or palm device...

I'd agree with ayasin, that for a professional developer the options are limited and you do have to go mainstream.

:D

fjl307
03-28-2003, 06:22 PM
Originally posted by ThomasK
C/C++ is not only the most popular language for Palm programming. I think today it is the mostly used language in embedded systems (I work in this field so I know about this).
This implies that it makes sense to program the Palms in C/C++. I can recommend everybody who starts programming in the Palm environment to do this in C/C++.

 

What about VB?? (Visual Basic)

iebnn
03-28-2003, 06:25 PM
You can use AppForge but it's terrible. NS Basic is a good option if you know VB. CASL can be learned quickly if you know VB, and is an even better option.