When compared to desktop application development, iPhone application development lacks some of the features. We are going to discuss these features here
Limitation on Network Infrastructure
iPhone is an always connected mobile device that uses another company’s wireless infrastructure. So apple place some restrictions on iPhone developers than Mac developers (apple developers has all freedom for developing and distributing application without the approval from Apple). The restriction is only for minimize the chance of programs degrading the performance of the shared network
Only one running application is possible
On an iPhone, only one application can be running at a time. This is because of limited memory and processor speed. This may change in future as iPhone gets more memory and powerful processor
Limited Access to the system resources
Desktop application can access everything in the system. But iPhone restricts the things that our application can get. iPhone application can only read and write files from iPhone’s file system that was created for our application. This area is called iPhone Sandbox. Here our application store documents, preferences and other data.
Only one window is possible at a time
Desktop application can display any number of windows at a time. But iPhone application work with only one window at a time
Application window size restriction
Size of the iPhone application window is limited to the size iPhone screen
Port access restriction
iPhone application can not access low number network port
Limited Response Time
iPhone has limited response time. When your program is launched, you have to get your application open, preferences and data loaded, and the main view shown does not take more than a few seconds. At any time, when your program is running if the user presses the home button, iPhone goes home and you have to quickly save everything and quit. If you take longer than five seconds to save the data, the application process will be killed.
Limited Screen Size
iPhone screen is just 480 * 320 pixels. So we have less room to work with than on modern computer.
Limited System Resources
The current version of iPhone has 128 MB or 256 MB of Physical RAM. Half of the memory is used for screen buffer and other system process. Half of the memory is available for our application. Cocoa touch has a built in mechanism for letting our application know the memory is low and then your application must free up un needed memory or risk being forced to quit
Energy limits
For mobile platforms, you have energy (battery) limitations. When run some programs ,it produces high levels of waste heat that the phone becomes hot to the touch and the battery quickly runs down. The Camera application is an example.
But iPhone SDK features help you to design your applications to limit CPU use and avoid running down the battery.
Missing Tools
iPhone misses some of the most important functionalities available in MAC. iPhone SDK does not support Core Data and Cocoa Buildings. Cocoa Touch does not support garbage collection
Many frameworks like Core animation is partly implemented.
Missing Keyboard and Mouse
iPhone doesn’t have mouse and keyboard. User interaction with program is different. Most of the interaction is handled by iPhone. If we add text field, iPhone automatically brings up a keyboard when user clicks on the text field
Some new features
iPhone SDK contains some new features that is not available in Cocoa. iPhone SDK provides a way to determine the phone’s current geographic coordinate using Core Location. iPhone has a built in camera and photo library. SDK provides a way to access these. iPhone also has a built-in accelerometer that allow us to detect whether the phone is being held and moved
These are the main limitation of the iPhone and its development. There may be some other limitations. If you are aware of any of the limitations other than these, please send to me or add a comment
Sunday, July 26, 2009
Subscribe to:
Comments (Atom)
