So you are planning to create an iPad app! And why shouldn’t you?With the App Store hosting 700,000 apps, out of which 250,000 designed specifically for the iPad, while others could be run on an iPad compatibility mode, writing apps for iPad is a lucrative option. The App Store has seen more than 30 billion downloads with an average iOS user downloading and using around 100 apps per month.
Before you start working on creating your iPad, here are a few things to keep in mind:
Apple is known for its strict control over admissible software. It specifically excludes any other type of application development systems except a Mac running Leopard or Snow Leopard. Your machine doesn’t have to be a very sophisticated Mac though, a Mac Mini would do.
Xcode is the official development platform for Apple and it can be downloaded for free.
Xcode uses Objective-C.
If you are not comfortable with Objective-C, you may opt for third-party platforms that can also compile and run your code on platforms like Android. Some examples are Corona SDK, Adobe Air, Unity, Marmalade and Phone Gap.
Play around and get used to development tools before you start actual development.
You need to have a developer’s license to put your apps up for sale. For that you need to join Apple’s developer program, to submit your apps to the Apple App Store. This will cost you $99 a year and entitles you to two support calls during the year for help on programming issues. Choose carefully between enrolling as an individual or as a company.
Since the apps need to be signed and used for development registered, do set it up before testing your app on a physical device. IOSDevCenter, accessible for those enrolled in the program, has a link to “Certificates, Identifiers & Profiles” in the upper-right corner.
You need a certificate for development and another one for distribution; you are required to sign the certificates with the Keychain tool on your Mac.
After that provisioning profile need to be attached to the certificate. You can do that with the help of Xcode or create your own general profile. Add all devices to this profile that you want to run your app while testing.
You are required to set up an App Id if your app utilizes the game center, push notifications or in-app purchasing.
Understanding UIKit framework is a must as the core infrastructure of an iOS app is built from objects in it. It is very important to understand the role these objects play, and how you modify them for your usage.
Do work out how your app would behave when in background state, that is, not having user interface and response to touch as an iPad device runs multiple apps simultaneously, but only one app—the foreground app—has the user’s attention at any given time.
You may want to change aspects of your app to support iCloudas it allows you to share the user’s data among multiple instances of your app running on different iOS and Mac OS X devices.
Most of the apps include images, sounds, and resources. Do make sure that all resources required to present your app’s content are available.
For a consistent user experience, make sure that your app’s user interface is restored to the state it was in when it was last used.
An iPad is basically a large iPod Touch that can optionally be bought with a 3G contract. It is a good idea to take advantage of the bigger screen area on an iPad compared to the iPod Touch/iPhone while developing an app for iPad.
Do not start with a vague idea in your head. It is recommended that you refine your idea before you start writing the app. You may test similar Apps for desirable and not-so-desirable features. Also note their flaws.
Don’t jump into coding. It is advisable to take time to explore the possible techniques and technologies available before you actually sit down to code.
Don’t forget to tune your app for performance. This may mean writing better code for provisions like responsiveness to user input, not degrading battery life significantly and taking care of other system resources.
Don’t overlook aspects of iOS environment that may impact your design and development. Do look into how memory management is done and how the system responds to hardware input etc.
Do not confuse developing an app with developing for the computer or the web as iPad has different GUI requirements, no mouse or keyboard and has touchscreen. Going through iOS Human Interface Guidelines may prove helpful.
Following 20 iPad apps are for developers, you can learn much more from these, while these will assist you in your development work as well.