I was trying to compare the three above mentioned platforms and what considerations one needs to think about when programming in order to create some kind of code base that could run on all three.
This is what I have collected for the iPhone – it would be great if somebody else could write something similar for the other two.
- Only one application can run at any
given time. i.e. that is why the
SQLLite database is loaded as a file
into the app instead of as
traditionally having some kind of
server to connect to. - Only one fixed size window 480×320
pixels - Runs in a sandbox, when the app is
deployed a sandbox is created
“around” the app, the app can only
read/write files from within that
area. Also low-level access to the
phone is restricted. - Since a program can be stopped at
any time (see point 1) this needs to
be considered when designing the
app, at any time must the app be
able to write its current state to
disk so that it can resume later. If
this takes longer than five seconds
the app will be aborted. - 128MB RAM, about half of that 64MB
is available to the app. There is
typicall 4GB storage (depends on
model), no virtual memory, if memory
is running out the app may be
aborted.
Edit: just to be clear, I am not after which platform/os is best for the developer, I am just interested in spec. comparison to know what can be expected if one has three target platforms and using native language for each (not web apps), what the memory and other considerations are.
Edit: removed language as its assumed that native language for the platform will be used.
For Windows Mobile I want to add:
Windows Mobile Professional for ‘Windows Phones’ (smartphones) with touchscreens and
Windows Mobile Standard for ‘Windows Phones’ with regular screens)
And for some bad things about windows mobile, see this link.
Thanks,
Madhup