Your SlideShare is downloading. ×
iOS Development (BCS Edinburgh 2011-03-09)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

iOS Development (BCS Edinburgh 2011-03-09)

1,571
views

Published on

My talk on iOS development, given at BCS Edinburgh on Wednesday 2011-03-09.

My talk on iOS development, given at BCS Edinburgh on Wednesday 2011-03-09.

Published in: Technology

3 Comments
9 Likes
Statistics
Notes
No Downloads
Views
Total Views
1,571
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
3
Likes
9
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. iPhone Edinburgh BCS development a brief introduction pete goodliffe Hello, world! iPhone iOS Development a brief introduction rkably , very rema really, Pete Goodliffe pete@goodliffe.netThursday, 10 March 2011
  • 2. iPhone development a brief introduction pete goodliffe Pete Goodliffe A programmer, a columnist, an author, a teacher. Someone who cares about code. www.goodliffe.net goodliffe.blogspot.com @petegoodliffeThursday, 10 March 2011
  • 3. iPhone development a brief introduction pete goodliffe Pete Goodliffe A programmer, a columnist, an author, a teacher. Someone who cares about code. www.goodliffe.net goodliffe.blogspot.com @petegoodliffeThursday, 10 March 2011
  • 4. iPhone development a brief introduction pete goodliffeThursday, 10 March 2011
  • 5. iPhone development a brief introduction pete goodliffe talk synopsis An introduction to iPhone/iOS development An introduction to iPhone development for beginners or those who are casually interested and want a leg up the learning curve. This talk is an overview of how to get started as an iPhone developer, and an introduction to the core technologies, including: ‣ Common iPhone/Mac OS design patterns, idioms, and practices ‣ Becoming a native: how to "think in iPhone" ‣ Overview of the libraries and facilities that exist ‣ Limitations of the development environmentThursday, 10 March 2011
  • 6. iPhone development a brief introduction pete goodliffe 90 minutes? is that all?!!!Thursday, 10 March 2011
  • 7. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI Technologies m… pie MmThursday, 10 March 2011
  • 8. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro Introduction ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 9. iPhone development a brief introduction pete goodliffe who are you?Thursday, 10 March 2011
  • 10. iPhone development a brief introduction pete goodliffe why develop for the iPhone?Thursday, 10 March 2011
  • 11. iPhone development a brief introduction pete goodliffe the alternativesThursday, 10 March 2011
  • 12. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 13. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 14. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro The tools ‣ The tools Tips Tools ‣ The language ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 15. iPhone development a brief introduction pete goodliffe ❖ The cast ❖ Xcode iPhone/iPod Touch/iPad Interface builder iPhone simulator Instruments/Shark iOS Provisioning Portal Other toolsThursday, 10 March 2011
  • 16. iPhone development a brief introduction pete goodliffe XcodeThursday, 10 March 2011
  • 17. iPhone development a brief introduction pete goodliffeThursday, 10 March 2011
  • 18. iPhone development a brief introduction pete goodliffeThursday, 10 March 2011
  • 19. iPhone development a brief introduction pete goodliffe an iPhoneThursday, 10 March 2011
  • 20. iPhone development a brief introduction pete goodliffe Interface BuilderThursday, 10 March 2011
  • 21. iPhone development a brief introduction pete goodliffe iPhone simulatorThursday, 10 March 2011
  • 22. iPhone development a brief introduction pete goodliffe Instruments/SharkThursday, 10 March 2011
  • 23. iPhone development a brief introduction pete goodliffe Other toolsThursday, 10 March 2011
  • 24. iPhone development a brief introduction pete goodliffe Getting set up... Get a Mac Get the tools Install Get an ADC account $$$ Code … ProfitThursday, 10 March 2011
  • 25. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips Tools ‣ The language ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 26. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 27. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro The language ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 28. iPhone development a brief introduction pete goodliffe (well, languages) C C++ Objective-CThursday, 10 March 2011
  • 29. iPhone development a brief introduction pete goodliffe (well, languages) C C++ Objective-CThursday, 10 March 2011
  • 30. iPhone development a brief introduction pete goodliffeThursday, 10 March 2011
  • 31. iPhone development a brief introduction pete goodliffe a history of objective-c in 14 lines and 12 words (give or take)Thursday, 10 March 2011
  • 32. iPhone development a brief introduction pete goodliffe algol CPL Simula BCPL Smalltalk B C Objective-C C++ Java C# DThursday, 10 March 2011
  • 33. iPhone development a brief introduction pete goodliffe objective C is... dynamic based on message passing follows C compilation model full of [ ] and @s ot too n - (id) thisIsAMethod:(int)param1 ry! signature:(float)param2 sca { for (int n (brace n < 10; ++n) = 0; yourself) { NSLog(@”N=%d”, n); [object callMethod:1 thing:2]; } }Thursday, 10 March 2011
  • 34. iPhone development a brief introduction pete goodliffe .m file @implementation MyClass - (id) thisIsAMethod:(int)param1 signature:(float)param2 { for (int n = 0; n < 10; ++n) { NSLog(@”N=%d”, n); [object callMethod:1 thing:2]; } } @endThursday, 10 March 2011
  • 35. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 @class signature:(float)param2 { @interface @implementation for (int n = 0; n < 10; ++n) { @end NSLog(@”N=%d”, n); @property [object callMethod:1 thing:2]; @private } } @protected @endThursday, 10 March 2011
  • 36. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 signature:(float)param2 { for (int n = 0; n < 10; ++n) { NSLog(@”N=%d”, n); [object callMethod:1 thing:2]; } } @endThursday, 10 March 2011
  • 37. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 signature:(float)param2 { for (int n = 0; n < 10; ++n) { NSLog(@”N=%d”, n); [object callMethod:1 thing:2]; } } @endThursday, 10 March 2011
  • 38. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 signature:(float)param2 { for (int n = 0; n < 10; ++n) { NSLog(@”N=%d”, n); [object callMethod:1 thing:2]; } } @endThursday, 10 March 2011
  • 39. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 signature:(float)param2 C an { stil l C fr write for (int n = 0; n < 10; ++n)ee func (and c tion all) { s NSLog(@”N=%d”, n); [object callMethod:1 thing:2]; } } @endThursday, 10 March 2011
  • 40. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 signature:(float)param2 { for (int n = 0; n < 10; ++n) { NSLog(@”N=%d”, n); NSS [object callMethod:1 thing:2]; tri } ng } @endThursday, 10 March 2011
  • 41. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 signature:(float)param2 { for (int n = 0; n < 10; ++n) { NSLog(@”N=%d”, n); [object callMethod:1 thing:2]; } } @endThursday, 10 March 2011
  • 42. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 signature:(float)param2 { for (int n = 0; n < 10; ++n) { NSLog(@”N=%d”, n); [object callMethod:1 thing:2]; } Can } call nil @endThursday, 10 March 2011
  • 43. iPhone development a brief introduction pete goodliffe Sending messages [object method]; int i = [object method]; [[object method1] method2]; [object method:10]; [object1 method:[object 2:method]];Thursday, 10 March 2011
  • 44. iPhone development a brief introduction pete goodliffe Method names parameters object [circle setCenterAtX:110 y:675]; method name selector name is: setCenterAtX:y: method declared as: - (void) setCentreAtX:(float)x y:(float)y SEL s = @selector(setCenterAtX:y:); [circle performSelector:s];Thursday, 10 March 2011
  • 45. iPhone development a brief introduction pete goodliffe parameter types: int, float, unsigned, etc syntax: (return type) idThursday, 10 March 2011
  • 46. iPhone development a brief introduction pete goodliffe .h file @class ForwardDeclaration; @interface MyClass : NSObject { ForwardDeclaration *member; bool otherMember; } - (id) init; - (id) initWithItems:(NSArray*)array enabled:(bool)enabled; + (id) myClassWithItems:(NSArray*)array; @endThursday, 10 March 2011
  • 47. iPhone development a brief introduction pete goodliffe @class ForwardDeclaration; @interface MyClass : NSObject { ForwardDeclaration *member; bool otherMember; } - (id) init; - (id) initWithItems:(NSArray*)array enabled:(bool)enabled; + (id) myClassWithItems:(NSArray*)array; @endThursday, 10 March 2011
  • 48. iPhone development a brief introduction pete goodliffe @class ForwardDeclaration; @interface MyClass : NSObject { ForwardDeclaration *member; bool otherMember; } - (id) init; - (id) initWithItems:(NSArray*)array enabled:(bool)enabled; + (id) myClassWithItems:(NSArray*)array; @endThursday, 10 March 2011
  • 49. iPhone development a brief introduction pete goodliffe @class ForwardDeclaration; @interface MyClass : NSObject { ForwardDeclaration *member; bool otherMember; } - (id) init; - (id) initWithItems:(NSArray*)array enabled:(bool)enabled; + (id) myClassWithItems:(NSArray*)array; @endThursday, 10 March 2011
  • 50. iPhone development a brief introduction pete goodliffe @class ForwardDeclaration; @interface MyClass : NSObject { ForwardDeclaration *member; bool otherMember; } - (id) init; - (id) initWithItems:(NSArray*)array enabled:(bool)enabled; + (id) myClassWithItems:(NSArray*)array; @endThursday, 10 March 2011
  • 51. iPhone development a brief introduction pete goodliffe @class ForwardDeclaration; @interface MyClass : NSObject { ForwardDeclaration *member; bool otherMember; } nda nt) (redu - (id) init; - (id) initWithItems:(NSArray*)array enabled:(bool)enabled; + (id) myClassWithItems:(NSArray*)array; @endThursday, 10 March 2011
  • 52. iPhone development a brief introduction pete goodliffe @class ForwardDeclaration; @interface MyClass : NSObject { ForwardDeclaration *member; bool otherMember; } - (id) init; - (id) initWithItems:(NSArray*)array enabled:(bool)enabled; + (id) myClassWithItems:(NSArray*)array; @endThursday, 10 March 2011
  • 53. iPhone development a brief introduction pete goodliffe Objective C++ In .mm files Classes can contain C++ objects May use C++ constructs in functions You can use RAII C++ librariesThursday, 10 March 2011
  • 54. iPhone development a brief introduction pete goodliffe Properties @interface MyClass { int harold; } @property (nonatomic) int harold; @end In MyClass.m... @interface MyClass @synthesize harold; @end This will become important when we look at creating UIsThursday, 10 March 2011
  • 55. iPhone development a brief introduction pete goodliffe The tao of objects You don’t call methods You pass messages to objects [theObject sendMessage:parameter];Thursday, 10 March 2011
  • 56. iPhone development a brief introduction pete goodliffe Java, C++, C# object.myMethod(1066); MyClass myMethod(int) MyClass *this another() more() class MyClass { private data public myMethod(int i) { // ... } };Thursday, 10 March 2011
  • 57. iPhone development a brief introduction pete goodliffe Objective-C [object myMethod:1066]; MyClass message (selector) MyClass *self myMethod(int) another() @implementation MyClass - (void) myMethod:(int)i private data { // ... } @endThursday, 10 March 2011
  • 58. iPhone development a brief introduction pete goodliffe Categories @interface NSObject (Foo) - (void) extraFooMethod; @end NSArray *array = [NSArray array]; [array extraFooMethod];Thursday, 10 March 2011
  • 59. iPhone development a brief introduction pete goodliffe Object lifetime All objects are reference counted (the retain count) NSArray *array1 = [[NSArray alloc] init]; NSArray *array2 = [NSArray array]; [array1 release]; [array2 release]; // wrong Circle *circle = [[Circle alloc] initAtCenterX:100 y:100 radius:200];Thursday, 10 March 2011
  • 60. iPhone development a brief introduction pete goodliffe Retain Action count obj=[[ClassType alloc] init]; 1 [obj retain]; 2 [obj release]; 1 [obj release]; 0 [object dealloc];Thursday, 10 March 2011
  • 61. iPhone development a brief introduction pete goodliffe The usual suspects NSObject NSString NSArray NSMutableArray NSNumber NSThread NSDictionary NSMutableDictionary NSApplication NSData NSMutableData NSURL NSSet NSMutableSet NSValueThursday, 10 March 2011
  • 62. iPhone development a brief introduction pete goodliffe Miscellany Statically typed my arse #import Constructor kludgeryThursday, 10 March 2011
  • 63. iPhone development a brief introduction pete goodliffe Idioms Delegates Key-value coding Protocol (interfaces) formal and informalThursday, 10 March 2011
  • 64. iPhone development a brief introduction pete goodliffe The libraries Objective C Cocoa Touch UIKit, etc Core Audio, Open GL ES, Media Quartz, Core Animation Core Services Core OS Posix, SQLite, Core Foundation, BSD CThursday, 10 March 2011
  • 65. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 66. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 67. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro The UI ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo Technologies UIThursday, 10 March 2011
  • 68. iPhone development a brief introduction pete goodliffe Interface BuilderThursday, 10 March 2011
  • 69. iPhone development a brief introduction pete goodliffe Held in .xib files (Compiled NIBs) Loaded into application (semi-automatically) IB is tightly integrated with Xcode UIKit frameworkThursday, 10 March 2011
  • 70. iPhone development a brief introduction pete goodliffeThursday, 10 March 2011
  • 71. iPhone development a brief introduction pete goodliffe Create UI elements Link to an object reference in the XIB through properties marked as IBOutlet Link actions to methods defined IBActionThursday, 10 March 2011
  • 72. iPhone development a brief introduction pete goodliffe // // ExampleAppDelegate.h // Example // // Created by Pete Goodliffe on 03/04/2010. // Copyright __MyCompanyName__ 2010. All rights reserved. // #import <UIKit/UIKit.h> @interface ExampleAppDelegate : NSObject <UIApplicationDelegate> { UIWindow *window; UINavigationController *navigationController; } @property (nonatomic, retain) IBOutlet UIWindow *window; @property (nonatomic, retain) IBOutlet UINavigationController *navigationController; @endThursday, 10 March 2011
  • 73. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo Technologies UIThursday, 10 March 2011
  • 74. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 75. iPhone development a brief introduction pete goodliffe in 90 minutes... ‣ Intro Key ‣ The tools ‣ The language ‣ The UI Tips Demo Intro Tools technologies ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 76. iPhone development a brief introduction pete goodliffe UIKit Core Graphics Core Audio Media Core / AVFoundation MapKit / Core Location CoreData (or sqlite) OpenGL ES External AccessoryThursday, 10 March 2011
  • 77. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 78. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 79. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro Deploying ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks ‣ The demo Deploying UI TechnologiesThursday, 10 March 2011
  • 80. iPhone development a brief introduction pete goodliffe Deploying iPhone simulator iPhone developer account ($$$) free “DRM hell” x86 Deployment certificates runs at desktop speed different build targets 100 devices per year more memory network stable App store iTunes Connect Another build typeThursday, 10 March 2011
  • 81. iPhone development a brief introduction pete goodliffe App store submit get rejected fix it resubmit profitThursday, 10 March 2011
  • 82. iPhone development a brief introduction pete goodliffeThursday, 10 March 2011
  • 83. iPhone development a brief introduction pete goodliffeThursday, 10 March 2011
  • 84. iPhone development a brief introduction pete goodliffeThursday, 10 March 2011
  • 85. iPhone development a brief introduction pete goodliffeThursday, 10 March 2011
  • 86. iPhone development a brief introduction pete goodliffeThursday, 10 March 2011
  • 87. iPhone development a brief introduction pete goodliffeThursday, 10 March 2011
  • 88. iPhone development a brief introduction pete goodliffeThursday, 10 March 2011
  • 89. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks ‣ The demo Deploying UI TechnologiesThursday, 10 March 2011
  • 90. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 91. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro Further info ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 92. iPhone development a brief introduction pete goodliffe Xcode documentation developer.apple.com/iphone Books Websites Stack Overflow, CocoaDev, ADC Videos on iTunes U http://itunes.stanford.edu/Thursday, 10 March 2011
  • 93. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 94. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 95. iPhone development a brief introduction pete goodliffe in 90 minutes... ‣ Intro ‣ The tools Tips ‣ The language ‣ The UI Tips Demo Intro Tools and tricks ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 96. iPhone development a brief introduction pete goodliffe Thinking iPhoneThursday, 10 March 2011
  • 97. iPhone development a brief introduction pete goodliffe Get the UI right HIG resource conservation (alpha blending, prerendering) asynchronyThursday, 10 March 2011
  • 98. iPhone development a brief introduction pete goodliffe The network is not always availableThursday, 10 March 2011
  • 99. iPhone development a brief introduction pete goodliffe Do not write to disk (often)Thursday, 10 March 2011
  • 100. iPhone development a brief introduction pete goodliffe Conserve resources RAM CPU filesystemThursday, 10 March 2011
  • 101. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 102. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 103. iPhone development a brief introduction pete goodliffe in 90 minutes... Demo Intro ‣ Intro The demo ‣ The tools Tips ‣ The language Tools ‣ The UI ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI TechnologiesThursday, 10 March 2011
  • 104. iPhone development a brief introduction pete goodliffe (wish me luck) wasn’t that marvellous?!Thursday, 10 March 2011
  • 105. iPhone development a brief introduction pete goodliffe Pete Goodliffe pete@goodliffe.netThursday, 10 March 2011