Wednesday, January 2, 2013

The Complete Guide for Starting iPhone Application Development


So you are looking for an iPhone application development, and want to write it yourself?
Great!! This blog will help you get started.. even If you are not familiar with Objective-c and any Mac OS X coding like me,

When I wrote my first iPhone application I had worked as Java developer so it was new journey for me to become iOS developer..
but I would say I just followed the way and every day I made examples and notes.. so here is the place I would like to share with you, what I have been learning.

Please feel free to drop comment below, give your idea, always welcome by RDC :)

The best way to learn is by working through lots of examples.

I spent hours and hours finding out the best resources to learn how to develop apps for iPhone.

So first is first, Here are the steps I have mentioned, you should go one by one.
Meanwhile I am trying to post More blogs to describes all these important contents.

                                      #RDC#

1. Understand iOS App Development Environment setup
2. Study Basics of Objective-C
3. Get Familiar with Xcode and Interface Builder and Simulator
4. Create HelloWorld App
5. Basic iOS Application Development
    -App LifeCycle
    -Basic UI Exercise
    -Advance View Controllers
        -NavigationController
        -TableViewController
        -CollectionViewController
        -TabBarController
        -SplitViewController
    -Delegates
    -ARC (Memory Management)
    -Run/Debug on Simulator/Apple Devices

6. Advance iOS Application Development
    -Custom Views
    -Categories in Objective-C
    -Database (SQLite/ Core Data/pList/User-defaults)
    -MapKit
    -Camera
    -GPS
    -Webservices
    -JSON/XML
    -Run/Debug with Memory Analysis
    -Handling Exception with Zombie
   
7. Preparing Developer Program
    -Register at developer.apple.com
    -Create Developer/Distribution Certificates
    -Add/Configure iPhone to developer account
    -Push Notifications
    -Publish App to iTunes Store

Table of Contents

----------------------------------------------------------------
[ 1 ]. Understand iOS App Development Environment setup

1. Mac OS X Lion (10.8)
2. iOS SDK (6.1)
3. Xcode (4.6) with InterfaceBuilder
4. Simulator and  Apple Device
5. Memory Analyzer instruments



-----------------------------------------------------------------
[ 2 ]. Study Basics of Objective-C

1. Oops concepts (object,class, data types)
2. Methods
3. Understand Some Lib Classes
3.01 NSString
3.02 NSMutableString
3.03 NSArray
3.04 NSMutableArray
3.05 NSDictionary
3.06 NSMutableDictionary
3.07 NSLog
3.08 NSBundle
3.09 NSCoder
3.10 NSConnection
3.11 NSData, NSMutableData
3.12 NSError
3.13 NSException
3.14 NSIntegar
3.15 NSFormattar
3.16 NSNotification
3.17 NSOperation
3.18 NSSet
3.19 NSUrl
3.20 NSUrlRequest, Response
3. Messaging (calling method)
4. Properties 
4.01 atomic
4.02 nonatomic
4.03 assign
4.04 retain
4.05 copy
4.06 strong
4.07 weak
4.08 readonly
4.09 readwrite
4.10 unsafe_unretained
5. Understand directives
5.01 @interface
5.02 @end
5.03 @implementation
5.04 @protocol
5.05 @property
5.06 @synthesize
5.07 @"string value"
5.08 @optional
5.09 @required
5.10 @public
5.11 @private
5.12 @package
5.13 @protected
6. Protocol
7. Interface
8. Categories
9. Memory Management
9.1 alloc, dealloc, nil
9.2 release
9.3 retain
9.4 autorelease
9.5 copy
9.6 drain
10. Understand Delegate
--------------------------------------------------------------

[ 3 ]. Get Familiar with Xcode and Interface Builder and Simulator

1. Create App with different templets
2. Tool bars and Navigation bars in Xcode
3. Objects Lib, Lib Help
4. Debug and Execute application
5. Editor, Organizer
6. All the Inspectors
7. File Owner
8. First Responder
9. Hook up the Outlets & Actions
10. Understand Project Build Settings
11. Memory Analyzer

----------------------------------------------------------------
[ 4 ]. Basic iOS Application Développement

1. Hello world app
2. Application Project Structure
3. Frameworks (Foundation, UIKit etc.)
4. Understand .plist, .h, .m, .pch files use
5. App Delegate
6. Understand App and ViewController Life Cycle
7. Understand MVC design pattern in iOS
8. Change App icon
9. Create Splash Screen
10. Connect Multiple UIControllers
11. Get Familiar with Basic UI Items
11.01 UILabel
11.02 UIButton
11.03 UITextField
11.04 UIView
11.05 UITableView
11.06 UIAlertView
11.07 UIActionSheet
11.08 UISegment
11.09 UISlider
11.10 UISwitch
11.11 UIProgressView
11.12 UIActivityIndicatorView
11.13 UIPageControl
11.14 UIImageView
11.15 UITextView
11.16 UIWebView
11.17 MKMapView
11.18 UIScrollView
11.19 UIDatePicker
11.20 UIPickerView
11.21 UIGestures
11.22 UIViewController
11.23 UITabViewController, UITabBar
11.24 UINavigationBar
11.25 UISearchBar
12. Study IBOutlet and IBAction
13. Debug the app using NSLog or BreakPoints
14. Test app with Simulator and Real Device
-------------------------------------------------------------------------------
[ 5 ]. Advance iOS Application Développement

01.Design app for Portrait and Landscape modes
02. Design Custom Views
03.Create Model classes to store data on app level
04. Data Storage
04.1 Using Sqlite database
04.2.Using plist files
04.3.Using NSUserDefaults (app preferences)
05. Delegates in iOS
06.Create Helper Class ( DBHelper, WebHelper)
07.Understand Thread in iOS
08. AsynTask class (eg. image downloading)
09. Core Data usage in application
10. Understand Category usage in application
11. Work with StoryBoards
12. Create application's binary file.
13. Understand development and distribution certificate procedure
14. Understand the procedure to push app on iTunes Store. 

-------------------------------------------------------------------------------
[ 6 ]. iOS App Development Learning Resources

Books
1. Apress - Beginning iOS 6 development 
2. Apress - Learn Objective-C on the Mac
3. Oreilly - iPhone.App.Development.The.Missing.Manual
4. Objective-C Programming: The Big Nerd Ranch Guide
5. iOS 6 by Tutorials
6. Beginning iPhone SDK Programming with Objective-C


Apple Official Documentations
1. For Objective -c programming  
( http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html )
2. Memory Management in iOS
(http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/MemoryMgmt/Articles/MemoryMgmt.html)

3. iOS Human Interface Guidelines
( https://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Characteristics/Characteristics.html#//apple_ref/doc/uid/TP40006556-CH7-SW6 )

4. Automatic Reference Counting (ARC)
( http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html )
Blogs with Good Tutorials Collection
1. http://www.raywenderlich.com/tutorials
2. http://mobileorchard.com/ios-development-tutorial-series-hello-world/
3. http://www.icodeblog.com/2010/04/05/ipad-programming-tutorial-hello-world/
4. http://mobile.tutsplus.com/category/tutorials/iphone/
5. http://www.edumobile.org/iphone/iphone-programming-tutorials/helloworld-example-in-xcode-4-iphone-os-4-3/
6. http://howtomakeiphoneapps.com/how-to-design-a-custom-uitableviewcell-from-scratch/1292/
7. http://iosdevelopertips.com/archives


I would love to here your feedback!!

No comments:

Post a Comment