How to Become an iPhone App Creator
(c) 2012 kevin languedoc (klanguedoc)
Becoming an iPhone creator doesn't mean you have to be a programmer. It means being able to make iPhone apps that are of high quality and that meets Apple's strigent design guidelines. These guidelines include how to create a stunning UI/UX (User Interface and User Experience), how to add great functionality and performance, how to add high quality marketing and visual effects and to successfully deploy an app to the App Store.
This guide will shoe you the different paths you can explore to help you on your quest to becoming an iPhone creator.
The Marketing Path
An iPhone creator can be from a marketing path, meaning that someone who has a strong marketing background can make an excellent iPhone app creator even without any programming experience. Today with over 650,000 apps and counting in the App Store alone, you will need more than a feature rich app to catch Apple's eye and be featured on their portal or event to catch the audiences eye. You need a "well heeled" marketing plan.
As a marketer, you can research apps that cater to a specific need or market that requires specific apps. Or you can create In-App stores that can be used to sell products directly from the app. There are several special frameworks available that don't require programming skills. For instance you could create an app without any programming knowledge using PhoneGap. The Adobe PhoneGap framework can be installed directly into Xcode as the following screenshot demonstrates:
With Adobe PhoneGap, you can create apps using any HTML WYSIWYG editor like Adobe's Creative Suite, GriffonBlue, CoffeeCup or HomeSite to name a few. The HTML app fits into a special HTML page that interact with the native APIs.
Another framework that can be used to create iPhone apps with no programing is Conduit. You can use Plug and Play components to build your app completely online in the web based app creation tool. For a quick tutorial you can read this following Conduit guide that demonstrates how to build an app completely without any programming.
For a marketer who wants to create games completely without any coding, they can use the GameSalad framework to create fully functional game apps for all audiences and game levels.
For an exhaustive list of frameworks that allows a marketer to be a iPhone app creator, take a look at the following guide: Creating Mobile Apps with This List of 22 Free and Open Source Mobile App Development Frameworks.
The Creative Arts Path
Another path that can be pursued to be a iPhone creator is through the creative arts. If you are a graphic artist or a web designer, you have all the skills needed to create stunning apps using Flash, packaged as Adobe Air app or you can use HTML 5 to create feature rich apps. Again packaged as a native app using Adobe Air.
As a designer you can create beautiful apps using designer tools like InDesign CS 6 (the minimum you can use is CS 5 because previous versions don't have the APIs --Application Programming Interface: which are the code libraries -- to build apps that use touch screen navigation. Also CS 5 and later have templates to build iPhone apps. Adobe Flash Professional 5 and up can also be used to create stunning iPhone apps that can use the Adobe Air runtime. Adobe Flash Builder with the Flex 4.5 or 4.6 SDK were designed with iPhone (and other smartphones) templates and Adobe Air to quickly create iPhone apps and take advantage of the rich user experience that Flash provides and that Adobe is famous for. Any other WYSIWYG HTML editor can be used to create fully functional apps that can be installed on the iPhone like any other app. The app can be hosted, like LinkedIn and Amazon Cloud Reader, or installed as a standalone app.
I mention Adobe Air (Adobe Integrated Runtime) because using Adobe's tools, you can use Adobe Air to create native apps, which are built with Flash or HTML 5 and are compiled to native apps that can be installed as any other native app through the App Store. With Adobe Air you don't need a web browser. In fact, you app looks and behaves exactly like an app that was written with Objective-C and the Cocoa Touch framework. With the Flex 4.6 framework (Flash for apps), you can even use components that completely resemble the look and feel of native iPhone components.
To design an iPhone app, you need to set your screen size to 960x640 for the iPhone 4. You also need to remember that user will be using their fingers to navigate or to select components, like buttons on screen, so you have to make the components slightly bigger than a normal desktop app.
To package an iPhone app that was created using standard web technologies and frameworks like jQuery requires more work but principal is the same as each app that is uploaded to the App Store is compressed in a Zip archive and uploaded (attached) to the App Stores iTunesConnect portal.
The Programming Path
Being an iPhone creator through the programming path is probably the most obvious, if not the longest to achieve and master. Creating iPhone apps as a programmer also offers the most powerful path since you can create the most complex apps, using the full breath of the Cocoa Touch SDK and the Objective-C programing language which is a superset of the C programming language.
As a programmer, you would be able to interface and use every feature available on the iPhone like the camera, the various sensors, the GPS and the accelerometer. You will be able to create stunning graphics using the Quartz Framework, the Core Image Framework and the Video Framework. You would also be able to C libraries like Open GL ES, Bluetooth, Peer-ToPeer networking, databases, Core Data which is a powerful ORM (Object Relational Mapping) API for storing data to name a few.
Since Objective-C is in essence the C programming, you would be able to access and use the thousands of powerful C framework and libraries that have been developed for every aspect of the information services industry, including interfacing with hardware devices.
To able to develop iPhone apps as a programmer you would first need to learn programming, especially the C programming language. Apple offers a university level developer program, iOS Developer University Program at some select universities. There are also a lot of excellent courses both online and offline where you can learn this wonderful profession. For learning iOS application development, Apple offers a lot of great tutorials on their developer web site including videos and sample code.
The University of Toronto offers the iOS Developer Program
The iOS Developer University program at the University of Toronto is one university that offers the program, but there are many others.
So if you are really into becoming an iPhone programmer or creator, there are a few things you need to keep in mind once you have mastered the basics of programming. Forst you really need to learn the C programming language. To learn about C programming, you may want to read the "C Programming Language" by Brian Keningham and Dennis Ritchie, who by the way invented the language. It is by far the "Holy Grail" to the C Programming language.
This is an excellent book. I use it constantly during my projects as a quick reference. Although it doesn't cover everything in the Cocoa Touch SDK, it does give some great advice and examples.
If you had to have just one book about C programming, this would have to be it. It is the all time best seller from the inventor of the language: Dennis Ritchie. Brian Kernighan, who also co-authored the book worked on the development of the Unix OS and is a professor at Princeton University.
Another great book from Aaron Hillgass. He covers the basics of porgramming in Objective-C. I also have this one on my Bookshelf (I like my computer books to be the physical version rather than the digital version).
Next you will need to learn about Objective-C and the Cocoa Touch SDK which are the language and technology with which most native iPhone apps are written. Learning Objective-C is fairly easy once you know C. I have several tutorials on my site to help you get going as well as several excellent books like the " Objective-C Programming: The Big Nerd Ranch Guide" by Aaron Hillgass and the " iOS Programming: The Big Nerd Ranch Guide (3rd Edition) by "Aaron Hillgass and Joe Conway.
There are numerous books and online course available to the aspiring programmer, but it is essential in my opinion that you get a copy of Xcode, which is the default iPhone application development environment and start practicing building sample applications, building your way up to full featured apps before attempting to build first commercial app.
To be able to create great iPhone apps you will need to master the Cocoa Touch Framework which is the core of the iOS SDK.The Cocoa Touch Framework is a huge subject to cover. The SDK is organized into layers, starting with the OS Layer and ending with the Cocoa Touch layer.
The following image highlights the different layers in the Cocoa Touch Framework and some of the key technologies and frameworks that is included in each.
Three other other areas that you would need to explore to complete your development as an iPhone creator through the Development Path would be to learn about database programming. Almost every iPhone app requires a place to store its data. Knowing how to write SQL and No-SQL queries is an essential stepping stone towards developing full featured iPhone apps.
The other point of interest would be to learn about web services and web development in general. Web services allows an application to interface with enterprise systems and databases and also with web based applications like Facebook and other web based APIs. Web development allows a developer to embed web pages in an iPhone app using the UIWebView.
Becoming an iPhone app creator is a fantastic field and as I mentioned is open to many people from different backgrounds. Today's technologies offer many different paths to help you express yourself and to allow you to contribute to the enhancement of user's lives in many fascinating ways.