If you've ever wanted to try your hand at developing iPhone and iPad apps, now is the best time to get started. Not only does any delay put you further behind in terms of competing in the marketplace and making your own mark, but after three years, there are plenty of great tools and services to help you get up to speed quickly.
The best thing about developing mobile apps is how an individual or a pair of developers can compete on semi-equal footing with large development shops. They may have more marketing budget, but what drives app sales more than anything is word of mouth and good reviews in the app store, so anyone with a great idea can be successful selling their app.
So how do you get started developing iPad and iPhone apps?
1. Try it out! The first step is to play around with the development tools. Apple's official development platform is called Xcode and is a free download. You won't be able to put your apps up for sale without a developer's license, but you can play around with the environment and find out how long it might take to come up to speed. Xcode uses Objective-C for developing iPhone and iPad apps, and it can also be used to develop applications for the Mac OS.
Note: You will need a Mac to develop iOS applications, but it need not be the most powerful Mac in the world. A Mac Mini is more than sufficient for creating iPhone and iPad apps. (Shop for a Mac Mini)
2. Don't know Objective-C? When the App Store debuted with the iPhone 3G, Apple's Xcode was the only game in town. Now, there are a number of different third-party platforms. The advantage of a third-party platform is the ability to code in a language other than Objective-C, which can lead to faster development times, and the ability to compile your code to run on different platforms, such as Android and Windows Phone OS.
Here are a few third-party solutions:
- Corona SDK. The Corona SDK uses LUA as a development language and then re-compiles to Objective-C. And because LUA is quicker to write, apps can be built much faster using Corona SDK. Corona specializes in 2D graphics and includes its own physics engine. You can also compile for both iOS and Android from a single set of code.
- Unity. Unity is a 3D graphics engine that includes a physics engine. It is primarily used for developing 3D games, though it recently added 2D support. Unity can be used for iOS, Android, Windows, BlackBerry, OS X, Linux, Playstation 3, Xbox 360 and Wii U development.
And this list is by no means complete. There are even development platforms like GameSalad that allow you to build apps without any coding at all. For a full list of mobile development platforms, you can check out Wikipedia's list.
3. Refine your idea and adapt iPad and iPhone best practices. It is a good idea to download similar apps from the app store and draw out your screens. Also note where you think the app went wrong. Developing a graphical user interface (GUI) for the iPhone and iPad is different than developing for the PC or the web. You will need to take into account the limited screen space, the lack of a mouse and physical keyboard and the existence of a touchscreen.
You can get started on this by reviewing the iOS Human Interface Guidelines at developer.apple.com.
4. Apple's Developer Program. Now that you have a refined idea and know your way around the development platform, it's time to join Apple's developer program. You will need to do this in order to submit your apps to the Apple App Store. The program costs $99 per year and offers you two support calls during that period, so if you do get stuck on a programming issue, there is some recourse.
Note: You will need to choose between enrolling as an individual or as a company. Enrolling as a company requires a legal company and documentation like Articles of Incorporation or a Business License. A Doing Business As (DBA) does not fulfill this requirement. If you have a DBA and are an individual developer, you can enroll as an Individual and still use your DBA name in the app store.
5. Push Hello, World to your iPhone or iPad. Rather than jump straight into app development, it's a good idea to create a standard "Hello, World" app and push it to your iPhone or iPad. This requires getting a developer's certificate and setting up a provisioning profile on your device. It's best to do this now so that you won't have to stop and figure out how to do it when you get to the Quality Assurance stage of development.