Learn How to Develop iPhone Programs and iPhone apps

iPhone Apps

Have you ever wanted to learn to develop apps (applications) for the iPhone? These Apps have become a major way of making heaps of money. Well this article will explain how. There are four ways of learning how to do this.

  1. Take your idea to a developer who will build the application for you
  2. Use an online program builder tool that requires little or no programming
  3. Learn how to convert a program developed in HTML or other programs for use on the iPhone.
  4. Learn to develop your own apps by learning all the programs and skills yourself.

First you will need to decide whether to use “Web App” or “Native App” after looking at the pros and cons of each approach.

All about Apps

What Is a Web App?

A Web App is fundamentally a website that is specifically designed for or modified for the iPhone. You can use various tools to adapt an existing website for use. Web app are built with standard web technologies (HTML, Javascript etc.). If you can build websites, then you can build basic Web Apps. You will need a specific URL or a link and most of the iphone functions and hardware will be unavailable to you. A Web App is not installed on the phone, like the Native App, and is not available in the iTunes App Store, and is not written with Objective-C.

What Is a Native App?

A Native App is developed using the iPhone system and is installed on the iPhone. The application can use all hardware (speakers, accelerometer, camera, etc.), and are written with Objective-C. Native Apps are available in the iTunes App Store which increases their appeal for users, but means that the Apps have to be submitted to Apple and approved.


Pros of Native Apps

  • Millions of registered credit card owners are just one click away from your App.
  • There are excellent development tools available when you register for Xcode, Interface Builder, and the Cocoa Touch framework.
  • You can access all the excellent hardware features of the iPhone.

Cons of Native Apps

  • There is a cost for becoming an Apple developer. Generally, native iPhone application development is more expensive than its Web application counterpart.
  • You are at the mercy of the Apple approval process.
  • You have to develop using Objective-C or a similar program on a Mac.
  • Its harder to release updates and problem fixes quickly and all you users will have to upload the revised version.
  • The development cycle and testing can be slow and are constrained by App Store’s limitations and the mysterious approval process.

Pros Web Apps

  • Web developers can use the tools they know, modify their current web design and use existing development skills.
  • You are not limited to the Mac OS.
  • Your app will run on any device that has a web browser (Blackberry, Android etc.)
  • You can fix bugs in real time and not require users to upload revised versions on their iPhones. The updates will be instantly available
  • The development cycle is much faster.

Cons Web Apps

  • You cannot access and use all the wonderful hardware features of the iPhone.
  • You have to develop your own payment system if you want to charge for the App.
  • It can be hard to develop sophisticated user interfaces. The best application are very similar to the Native Apps. Users may see that it is not a Native App and reject it.

These distinctions are breaking down somewhat, especially in a development sense because there are various programs which you can use to develop a Web App and have them converted to a Native App (see below). You can also take a Website and package it as a Native App for the iPhone and other mobile platforms using various tools.


Options for Developing an iPhone App


Option 1. Take your idea to a developer who will build the application for you
There are several developers who will work with you and create a program for your idea and have it registered by App store. They will fully develop the Native or Web App for you for an upfront fee, a monthly fee or a share of the profits. This means that you do not need any programming skills. Some companies will pay you for ideas.

Complete App Developers

TOOL
URL
AppMakr
http://www.appmakr.com/
Appanda
http://www.appanda.com/pages/faq6/
MyAppBuilder
http://myappbuilder.com/
AppIncubator
http://www.medlmobile.com/index.php?page=appincubator

Option 2. Use an online program builder tool that requires little or no programming


There are many online tools that you can use to build your own Apps from templates and various tools any functions. They supply the tools and templates. You supply your wonderful idea, great content and design skills. There are some general online App builders that are designed for general business and entertainment needs and more specific ones that target specific needs. Others allow developers familiar with HTML and javascript to write Apps using their existing program knowledge to write the code, and then will transform that code into a native iPhone Application which can be submitted to the iTunes Store. Other require knowledge of HTML, Ruby, Java, Javascript, CSS, Python, PHP.


Native App Builders

There are various websites that help you to build your own Native App using templates and tools. Most will submit your App to the iTines Store for Approval.

Examples of Native App Building Tools

TOOL
URL
AppMakr
http://www.appmakr.com/
99Apps
http://www.99apps.com
AppBreeder
http://www.appbreeder.com/
Appcelerator
http://www.appcelerator.com/
BuildAnApp
http://www.buildanapp.com/turbo/home
GameSalad
http://gamesalad.com/landing/overview
Kanchoo
http://www.kanchoo.com/
MobileAppLoader
http://mobileapploader.com/myapp/default.aspx
Mock App
http://mockapp.com
PhoneGap
http://www.phonegap.com/
Sweb Apps
http://www.swebapps.com/index.htm
TapLynx
http://www.taplynx.com/features/
Yapper
http://yapper.sachmanya.com/

Web App Tools and Converters

There are many websites that can help you to build your own Web App using templates and tools. Some offer tools that will convert your existing websites into a version suitable for the iPhone. Others will convert your Web App into a Native App. Examples of online tools that require programming knowledge such as HTML, Ruby, Java, Javascript, CSS, Python, PHP are shown below:

Web App Online Tools

TOOL
URL
Cappuccino
http://cappuccino.org/
CiUI (CNET)
http://www.clientcide.com/cnet-js-standards/ciui-cnet-iphone-ui/
EyeMags
http://eyemags.com/em/index.jsp
iUI
http://iphoneized.com/
LiquidGear
http://www.liquidgear.net/
Magic Framework
http://www.jeffmcfadden.com/projects/Magic%20Framework
MobiOne
http://www.genuitec.com/mobile/
Modelbaker
http://www.widgetpress.com/modelbaker
NimbleKit
http://www.nimblekit.com/
PhoneGap
http://www.phonegap.com/
QuickConnect
http://quickconnect.sourceforge.net/browser/index.html
Rhodes
http://rhomobile.com/products/rhodes/
RhoHub
http://rhohub.com
Rhomobile
http://rhomobile.com/
Sproutcore
http://www.sproutcore.com/
UNITYMobile #
http://www.unitymobile.com
XUI
http://www.xoetrope.com/xui

Option 3. Learn to develop your own Applications by learning all the programs and skills yourself.

What skills do you require to develop a successful and profitable iPhone App? As well as programming skills and understanding of the iPhone system you may also need to play the roles of Researcher, Creator and Idea Developer, Entrepreneur, Project Manager, Information Architect, User Information Designer, Accountant, Developer, Marketer and Advertiser. You may need help with some of these aspects.


Here is Skills Checklist

  • Ability to know what works and doesn’t work for existing iPhone Apps
  • Market Research Skiils
  • Ability to map the App Functionality in a sitemap and tree structure
  • Graphic and Layout Design
  • Graphic User Iinterface Design
  • Programming skills in the iPhone Operating System, Objective C, Cocoa, etc.
  • iPhone App Promotion, Advertising and Marketing


Don't panic there are lost of resources to help you learn.

The first major resource is the Apple iPhone Dev Centre (http://developer.Apple.com/iPhone/index.action) - Once registered you can join the team of Apple Developers and you can access iPhone SDK 3.2 for developing iPhone, iPod touch and iPad Applications. The website offers developers for the new iPhone OS lots of resources including the frameworks, tools, best-practice guidelines, and content-rich design methods for creating innovative and useful iPhone Applications. Some of the resources available are:

  • Technical Documentation and Specifications
  • Getting Started Guides
  • iPhone Reference Library
  • Application Programming Guide
  • Development Guide
  • Human Interface Guidelines and GUI
  • How to Develop Your First iPhone Application
  • A primer for Learning Objective-C: A Primer

Resources for Learning how to Program the iPhone

Books
Online Tutorials and Courses
Face to Face Courses

Check your local University and other education centres for course in developing IPhone Apps. Various course are available for various stages and most require some requisite programming skills or experience. These courses will help you:

  • Learn to use all the key tools and APIs contained in the iPhone SDK 3.0. This includes the Interface Builder, Xcode, Cocoa Touch programming, Objective-C and the APIs included in the iPhone SDK 3.0.
  • Gain actual coding experience and get feedback your design, its development and answers to your questions and problems so you can start developing your own iPhone Apps.
  • Create your first iPhone App, or improve an existing App that you may be working on.
  • Get an understanding of how to program the iPad.

Happy Programming!

© janderson99-HubPages

© 2010 Dr. John Anderson

More by this Author


Comments 4 comments

iphone training 6 years ago

If you want to learn how to code for iphone there is a great online tutorial program that you can take.... you get weekly video learning packs, assignments, worksheets, real one-on-one tutor help. take a look at EDUmobile.ORG for more.


janderson99 profile image

janderson99 6 years ago from Australia on Planet Water Author


vlad 5 years ago

Cool stuff.I'm keen on creating apps though I'm only a novice in programming but that doesn't prevent me from making complex and profitable apps.I'm using snappii.com and consider this service to be the most flexible concerning design opportunities among its competitors.


Apps-for-All 4 years ago

Forget about all kind of lost and win stuff,just think for enjoyable android,iphone,balckberry and many other mobile application development and and mach more to do just go on www.eheuristic.com the heuristic site for the application development.. !!!!..

    0 of 8192 characters used
    Post Comment

    No HTML is allowed in comments, but URLs will be hyperlinked. Comments are not for promoting your articles or other sites.


    Click to Rate This Article
    working