How to Develop an iOS Application
Mobile software has many facets, of which the most compelling is probably an iPhone app. So now, we have executives who are impressed by a cool iPhone app they’ve seen and want to replicate it. On the other hand, we have program managers impressed by the amount of work (and money) it would take to provide a comprehensive mobile solution that reaches a wide audience share. Today, a mobile solution may sometimes consists, solely, on a mobile site. However, every time someone goes beyond the level of a mobile site, an iOS native application is built. How do you write an iOS native application? Here’s a brief summary of the most popular options.
The Three Main Options
1) Using the tools Apple supplies. An iOS application is internally based on a set of Cocoa Touch Frameworks. Calls to the various components are glued together by Objective-C statements. Objective-C, is therefore, the primary programming language of the iOS platform. It is, essentially, also the ANSI C language extended with some object-oriented features, mostly inspired by Smalltalk syntax. Objective-C ultimately supports classes and object orientation, but it does so, through a syntax that looks a bit unfamiliar to C++ developers and even less familiar to C# and Java developers. For this reason, some developers feel uncomfortable with Objective-C and wish to explore other options. The bottom line is that most developers can really become productive on Objective-C regardless of their background and skills. However, developers with a strong Java, C#, or even Microsoft Visual Basic background may find it easier to approach iOS development from another angle.
2) Through MonoTouch. MonoTouch is a commercial framework based on Mono and developed by Xamarin. MonoTouch offers a .NET facade on top of some of the Cocoa Touch frameworks. You call classes with the same interface used for equivalent .NET objects, which have functionality mapped to iOS-specific frameworks. MonoTouch requires the Mono framework as well as the iOS SDK. To write code, you use the MonoDevelop tool and rely on Xcode for any UI work. You can reuse your .NET skills and even recompile some C# source code you may have. However, the only code you can share with .NET projects is back-end code; UI code must be expressly written using Cocoa Touch tools and metaphor.
In all cases you need a Mac computer, the iOS SDK, and must be registered as an Apple developer (which is free). In addition, if you want to test the app on a real device (and possibly publish the app), you must have joined one paid Apple developer program.