What's different in Coding for the iPhone
Several things about the iPhone environment are different from a traditional personal computer environment.
Many of these also apply to Android.
- Only one running app at a time. (Limited push notification support).
- Only one Window at a time.
- Limited Access - only can touch file system that was created for your app. Can't access low numbered network ports. Etc.
- Your application needs to be snappier -- you need to get things loaded and displayed as quick as possible. Pressing the home button
should exit your app as quick as possible.
- Limited Screen size. 480 x 320 pixels (Quarter VGA) is a lot less than most desktops.
- Limited Resources: ARM Processor 412 MHz with 128MB RAM for iPhone 3G and earlier; 256MB, ARM Processor 620 MHz for iPhone 3GS (often a lot of which is used by the OS). Still, iPhone often needs to do graphics heavy stuff. This compares with gigabytes for most modern Desktops.
- Some things in Cocoa like garbage collection are not in Cocoa Touch.
- iPhone does support multi-touch events, locations, and a built-in accelerometer.