kickoff iPhone developement

1,698 views
1,664 views

Published on

Published in: Technology, News & Politics
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,698
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

kickoff iPhone developement

  1. 1. Kickoff iPhone Apps Development
  2. 2. Environment <ul><li>Intel powered MAC OS X (10.5 onwards) </li></ul><ul><li>iPhone SDK </li></ul><ul><ul><li>Xcode </li></ul></ul><ul><ul><ul><li>IDE used to write code for iPhone Apps </li></ul></ul></ul><ul><ul><li>Instruments </li></ul></ul><ul><ul><ul><li>Tool to measure performance of apps </li></ul></ul></ul><ul><ul><li>iPhone Simulator </li></ul></ul><ul><ul><ul><li>Simulate output </li></ul></ul></ul>
  3. 3. SDK – From where? <ul><li>Download SDK from http://developer.apple.com/iphone </li></ul><ul><li>Apple wants you to create a developer account and its FREE !! </li></ul><ul><li>Latest - iPhone SDK 2.2.1 ( approx 1.3GB ) </li></ul>
  4. 4. You Must Know <ul><li>OOPS concepts </li></ul><ul><ul><li>Language used is Objective-C </li></ul></ul><ul><li>Memory Management </li></ul><ul><ul><li>No garbage collector for iPhone Apps </li></ul></ul><ul><ul><li>Developer is responsible for minimize memory footprints and avoid leaks </li></ul></ul>
  5. 5. Objective C ?? <ul><li>Obj-C is based standard C with object-oriented extensions </li></ul><ul><li>Can use C, C++ code with Obj-C codes </li></ul><ul><li>Concepts of </li></ul><ul><ul><li>Objects </li></ul></ul><ul><ul><li>Exception handling </li></ul></ul><ul><ul><li>Threading </li></ul></ul>
  6. 6. Syntax comparison - Functions <ul><li>Case 1: C++ </li></ul><ul><ul><li>rectangle.draw( 10 , 100 , true ); </li></ul></ul><ul><li>Case 2: Obj C </li></ul><ul><ul><li>[rectangle drawWithWidth: 10 height: 100 opaque: YES ]; </li></ul></ul><ul><li>Advantages : Readable, Maintainable, etc.. </li></ul>
  7. 7. More on Objective C . . . <ul><li>File :ClassName.h </li></ul><ul><li>@interface ClassName : ItsSuperclass { </li></ul><ul><ul><li>instance variable declarations </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>method declarations </li></ul></ul><ul><ul><li>@end </li></ul></ul><ul><ul><li>-------------------------------------------------------------------------- </li></ul></ul><ul><ul><li>File: ClassName.m </li></ul></ul><ul><ul><li>#import “ClassName.h” </li></ul></ul><ul><ul><li>@implementation ClassName </li></ul></ul><ul><ul><li>method definitions </li></ul></ul><ul><ul><li>@end </li></ul></ul>
  8. 8. Sample Code <ul><li>Sibling.h </li></ul><ul><li>@interface Sibling : NSObject </li></ul><ul><li>{ </li></ul><ul><li>Sibling *twin; </li></ul><ul><li>BOOL isMale; </li></ul><ul><li>int age; </li></ul><ul><li>} </li></ul><ul><li>@property(nonatomic)BOOL isMale; </li></ul><ul><li>int count; </li></ul><ul><li>-(void)setAge;(int)ageValue; </li></ul><ul><li>-(int)age; </li></ul><ul><li>+(int)getCount; </li></ul><ul><li>@end </li></ul>Sibling.m #import “Sibling.h” @implementation Sibling @synthesize isMale; -(void)setAge;(int)ageValue { age = ageValue; } -(int)age { return age; } +(int)getCount { return count; } @end
  9. 9. Framework <ul><li>iPhone Apps uses Cocoa Touch framework </li></ul><ul><ul><li>Subset of Cocoa f/w using for Mac App Dev </li></ul></ul><ul><li>Collection of two frameworks </li></ul><ul><ul><li>UKit Framework ( UI xyz ) </li></ul></ul><ul><ul><li>Foundation Framework ( NS xyz ) </li></ul></ul>
  10. 10. Framework <ul><li>Layer architecture </li></ul>
  11. 11. Cocoa Touch Layer <ul><li>UIKit framework </li></ul><ul><ul><li>Visual infrastructure for your application </li></ul></ul><ul><ul><ul><li>Classes for windows, views, controls, and the controllers that manage those objects. </li></ul></ul></ul><ul><ul><ul><li>contact, photo information, accelerometers etc. . </li></ul></ul></ul><ul><li>Foundation Framework </li></ul><ul><ul><li>object-oriented support for </li></ul></ul><ul><ul><ul><li>collections, </li></ul></ul></ul><ul><ul><ul><li>file management </li></ul></ul></ul><ul><ul><ul><li>network operations </li></ul></ul></ul><ul><ul><ul><li>and more . . . </li></ul></ul></ul>
  12. 12. Core Service & Core OS Layer <ul><li>Fundamental interfaces for iPhone OS </li></ul><ul><ul><li>accessing files </li></ul></ul><ul><ul><li>low-level data types </li></ul></ul><ul><ul><li>network socket , etc. . . </li></ul></ul><ul><li>These interfaces are mostly C- based </li></ul><ul><li>Include technologies such as </li></ul><ul><ul><li>Core Foundation </li></ul></ul><ul><ul><li>CFNetwork </li></ul></ul><ul><ul><li>SQLite </li></ul></ul><ul><ul><li>UNIX sockets </li></ul></ul>
  13. 13. Media Layer <ul><li>Fundamental technologies </li></ul><ul><ul><li>2D and 3D drawing </li></ul></ul><ul><ul><li>audio and video </li></ul></ul><ul><li>C-based technologies </li></ul><ul><ul><li>OpenGL ES, Quartz, and Core Audio </li></ul></ul><ul><li>ObjC-based technologies </li></ul><ul><ul><li>Core Animation, an advanced animation engine </li></ul></ul>
  14. 14. Developer accounts <ul><li>Free Developer account </li></ul><ul><ul><li>Use SDK </li></ul></ul><ul><ul><li>Run application in simulator </li></ul></ul><ul><li>Standard iPhone Developer Program </li></ul><ul><ul><li>Costs $99 / year </li></ul></ul><ul><ul><li>Test and debug application in device </li></ul></ul><ul><li>Enterprise Program </li></ul><ul><ul><li>Costs $299 / year </li></ul></ul>

×