The Mobile Landscape - iOS
In my last post, I briefly discussed Android and how and why to start developing for it. Since then, Ive dived into native Android development and found it to be a relatively painless transition from my AS3 and Flex background. Now, Im starting to get into native iOS development. I missed that boat back in 2007 and later in 2008 with the 3G model. Its time to revisit it and tackle it once and for all.
What is iOS?
iOS is the operating system that powers the iPhone, iPod Touch, and the iPad. Currently in its 4th major version and a 5th approaching, it represents one of the most popular mobile operating systems in use today.
Why develop for iOS?
- iOS development is consistent across multiple devices - allowing you to develop for powerful and popular Apple devices.
- The main programming language, Objective-C, combined with C and OpenGL ES, gives you a versatile set of languages to write full-featured applications and powerful 3D games.
- Targeted programming to a finite set of top-notch devices that have a solid and steady fan following.
- Apple fans will love you if you make something awesome.
What are the development options?
When you opt-in to begin developing native applications for Apple’s iOS the way they intended programmers to, you are expected to use Apple’s tools and SDKs (for alternatives see my previous post). This includes an Intel-based Mac, XCode, iOS SDK from the iOS Dev Center, and, to finally publish your app on the AppStore, an authorized developer account with yearly membership dues. The programming language as mentioned is Objective-C, which you need to use to communicate with native UI elements. You can, however, use C in addition to Objective-C if you see fit for it (I.e. games). For those of you interested in starting development, there are some useful references at the bottom of this article to get up and running. However, although those articles are great, eventually you will need to just start programming and learn as you jump feature hurdles.
Where to go from here?
Although there are over 300 thousand applications for iOS, it is still a good time to get into developing for iOS. The market is still growing as smart phones slowly but surely replace non-smart phones. The iPad and iPad 2 also have much smaller numbers of iPad targeted applications and perhaps in the future more unique iOS devices will pop up. Regardless, if you are interested in getting into iOS development, your first goal should be to learn Objective-C and then of course, make an app
. After reading many of the articles at the bottom of this post, Objective-C, my biggest hurdle, doesn’t look so foreign anymore.
Reading Material
iOS Dev Center - Always a great place to start ![]()
Intro to Objective-C - Mac OS X Developer Library
Building iOS Apps From Scratch - A great and must-read article to get up and running
OpenGL ES for the iPhone - I certainly intend to read this series when I get there ![]()
Objective-C: the More Flexible C++ - A good history and introduction to Objective-C