ACCU 2010
iPhone development a brief introduction                            pete goodliffe




                 Hello,
  ...
iPhone development a brief introduction                                 pete goodliffe




                               ...
iPhone development a brief introduction                                 pete goodliffe




                               ...
iPhone development a brief introduction                                                           pete goodliffe




    t...
iPhone development a brief introduction                pete goodliffe




                         90 minutes? is that all...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction     pete goodliffe




                             who are you?
iPhone development a brief introduction     pete goodliffe




                           why develop
                    ...
iPhone development a brief introduction    pete goodliffe




                        the alternatives
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction                pete goodliffe




                                 ❖        The ca...
iPhone development a brief introduction           pete goodliffe




                                          Xcode
iPhone development a brief introduction   pete goodliffe
iPhone development a brief introduction   pete goodliffe
iPhone development a brief introduction         pete goodliffe




                                    an iPhone
iPhone development a brief introduction   pete goodliffe




                      Interface Builder
iPhone development a brief introduction   pete goodliffe




                     iPhone simulator
iPhone development a brief introduction   pete goodliffe




                 Instruments/Shark
iPhone development a brief introduction         pete goodliffe




                                  Other tools
iPhone development a brief introduction               pete goodliffe




                        Getting set up...
       ...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction                                                          pete goodliffe




in 90 ...
iPhone development a brief introduction                 pete goodliffe




                     (well, languages)
        ...
iPhone development a brief introduction   pete goodliffe
iPhone development a brief introduction                    pete goodliffe




                     a history of
          ...
iPhone development a brief introduction                               pete goodliffe


                                   ...
iPhone development a brief introduction                   pete goodliffe



                           objective C is...
 ...
iPhone development a brief introduction             pete goodliffe

                                          .m file

  @...
iPhone development a brief introduction    pete goodliffe




  @implementation MyClass

  - (id) thisIsAMethod:(int)param...
iPhone development a brief introduction    pete goodliffe




  @implementation MyClass

  - (id) thisIsAMethod:(int)param...
iPhone development a brief introduction    pete goodliffe




  @implementation MyClass

  - (id) thisIsAMethod:(int)param...
iPhone development a brief introduction    pete goodliffe




  @implementation MyClass

  - (id) thisIsAMethod:(int)param...
iPhone development a brief introduction            pete goodliffe




  @implementation MyClass

  - (id) thisIsAMethod:(i...
iPhone development a brief introduction    pete goodliffe




  @implementation MyClass

  - (id) thisIsAMethod:(int)param...
iPhone development a brief introduction    pete goodliffe




  @implementation MyClass

  - (id) thisIsAMethod:(int)param...
iPhone development a brief introduction     pete goodliffe




  @implementation MyClass

  - (id) thisIsAMethod:(int)para...
iPhone development a brief introduction                pete goodliffe



                                          Sending...
iPhone development a brief introduction                              pete goodliffe



                                   ...
iPhone development a brief introduction                  pete goodliffe




                    parameter types:
         ...
iPhone development a brief introduction             pete goodliffe
                                          .h file

  @c...
iPhone development a brief introduction   pete goodliffe



  @class ForwardDeclaration;

  @interface MyClass : NSObject
...
iPhone development a brief introduction   pete goodliffe



  @class ForwardDeclaration;

  @interface MyClass : NSObject
...
iPhone development a brief introduction   pete goodliffe



  @class ForwardDeclaration;

  @interface MyClass : NSObject
...
iPhone development a brief introduction   pete goodliffe



  @class ForwardDeclaration;

  @interface MyClass : NSObject
...
iPhone development a brief introduction   pete goodliffe



  @class ForwardDeclaration;

  @interface MyClass : NSObject
...
iPhone development a brief introduction   pete goodliffe



  @class ForwardDeclaration;

  @interface MyClass : NSObject
...
iPhone development a brief introduction   pete goodliffe



  @class ForwardDeclaration;

  @interface MyClass : NSObject
...
iPhone development a brief introduction               pete goodliffe




                            Objective C++
       ...
iPhone development a brief introduction                 pete goodliffe



Properties
            @interface MyClass
      ...
iPhone development a brief introduction               pete goodliffe




                     The tao of objects
         ...
iPhone development a brief introduction                                        pete goodliffe


                          ...
iPhone development a brief introduction                                        pete goodliffe


                          ...
iPhone development a brief introduction     pete goodliffe



Categories

        @interface NSObject (Foo)
        - (voi...
iPhone development a brief introduction                                 pete goodliffe



                                ...
iPhone development a brief introduction                                 pete goodliffe




                               ...
iPhone development a brief introduction                 pete goodliffe



                                          The us...
iPhone development a brief introduction   pete goodliffe




       Statically typed my arse
               #import
iPhone development a brief introduction                   pete goodliffe




                                          Idi...
iPhone development a brief introduction                                   pete goodliffe




                             ...
iPhone development a brief introduction                                                          pete goodliffe




in 90 ...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction                                                    pete goodliffe




in 90 minute...
iPhone development a brief introduction   pete goodliffe




                      Interface Builder
iPhone development a brief introduction                     pete goodliffe




                                Held in .xi...
iPhone development a brief introduction   pete goodliffe
iPhone development a brief introduction          pete goodliffe




                            Create UI elements

      ...
iPhone development a brief introduction                                         pete goodliffe




  //
  //     ExampleAp...
iPhone development a brief introduction                                                    pete goodliffe




in 90 minute...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction                                                       pete goodliffe




      ‣ I...
iPhone development a brief introduction   pete goodliffe




                        UIKit
                    Core Graphi...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction                                pete goodliffe




                 Deploying
     ...
iPhone development a brief introduction                  pete goodliffe




                                              ...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction                                                             pete goodliffe




in ...
iPhone development a brief introduction                            pete goodliffe




                Xcode documentation
...
iPhone development a brief introduction                                                             pete goodliffe




in ...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction                                                      pete goodliffe




in 90 minu...
iPhone development a brief introduction          pete goodliffe




                               Thinking iPhone
iPhone development a brief introduction                          pete goodliffe




                                 Get t...
iPhone development a brief introduction     pete goodliffe




                The network is not always
                 ...
iPhone development a brief introduction             pete goodliffe




                          Do not write to disk
    ...
iPhone development a brief introduction                pete goodliffe




                           Conserve resources
  ...
iPhone development a brief introduction                                                      pete goodliffe




in 90 minu...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction                                                       pete goodliffe




in 90 min...
iPhone development a brief introduction      pete goodliffe




                           (wish me luck)
                ...
iPhone development a brief introduction           pete goodliffe




                                          Pete Goodli...
Upcoming SlideShare
Loading in...5
×

iPhone development: A brief introduction

3,397

Published on

My ACCU 2010 introduction to iPhone development.

Please contact me if you'd like me to run this course for you locally, or at your conference.

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,397
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
181
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

iPhone development: A brief introduction

  1. 1. ACCU 2010 iPhone development a brief introduction pete goodliffe Hello, iPhone world! Development a brief introduction Pete Goodliffe pete@goodliffe.net
  2. 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 @petegoodliffe
  3. 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 @petegoodliffe
  4. 4. iPhone development a brief introduction pete goodliffe talk synopsis An introduction to iPhone 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 environment
  5. 5. iPhone development a brief introduction pete goodliffe 90 minutes? is that all?!!!
  6. 6. 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 Mm
  7. 7. 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 Technologies
  8. 8. iPhone development a brief introduction pete goodliffe who are you?
  9. 9. iPhone development a brief introduction pete goodliffe why develop for the iPhone?
  10. 10. iPhone development a brief introduction pete goodliffe the alternatives
  11. 11. 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
  12. 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 Technologies
  13. 13. 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 Technologies
  14. 14. iPhone development a brief introduction pete goodliffe ❖ The cast ❖ Xcode iPhone/iPod Touch/iPad Interface builder iPhone simulator Instruments/Shark Other tools
  15. 15. iPhone development a brief introduction pete goodliffe Xcode
  16. 16. iPhone development a brief introduction pete goodliffe
  17. 17. iPhone development a brief introduction pete goodliffe
  18. 18. iPhone development a brief introduction pete goodliffe an iPhone
  19. 19. iPhone development a brief introduction pete goodliffe Interface Builder
  20. 20. iPhone development a brief introduction pete goodliffe iPhone simulator
  21. 21. iPhone development a brief introduction pete goodliffe Instruments/Shark
  22. 22. iPhone development a brief introduction pete goodliffe Other tools
  23. 23. iPhone development a brief introduction pete goodliffe Getting set up... Get a Mac Get the tools Install Get an ADC account $$$ Code … Profit
  24. 24. 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 Technologies
  25. 25. 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
  26. 26. 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 Technologies
  27. 27. iPhone development a brief introduction pete goodliffe (well, languages) C C++ Objective-C
  28. 28. iPhone development a brief introduction pete goodliffe
  29. 29. iPhone development a brief introduction pete goodliffe a history of objective-c in 14 lines and 12 words (give or take)
  30. 30. iPhone development a brief introduction pete goodliffe algol CPL Simula BCPL Smalltalk B C Objective-C C++ Java C# D
  31. 31. 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! signatute:(float)param2 sca { for (int n (brace n < 10; ++n) = 0; yourself) { NSLog(@”N=%d”, n); [object callMethod:1 thing:2]; } }
  32. 32. iPhone development a brief introduction pete goodliffe .m file @implementation MyClass - (id) thisIsAMethod:(int)param1 signatute:(float)param2 { for (int n = 0; n < 10; ++n) { NSLog(@”N=%d”, n); [object callMethod:1 thing:2]; } } @end
  33. 33. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 @class signatute:(float)param2 { @interface @implementation for (int n = 0; n < 10; ++n) { @end NSLog(@”N=%d”, n); @property [object callMethod:1 thing:2]; @private } } @protected @end
  34. 34. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 signatute:(float)param2 { for (int n = 0; n < 10; ++n) { NSLog(@”N=%d”, n); [object callMethod:1 thing:2]; } } @end
  35. 35. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 signatute:(float)param2 { for (int n = 0; n < 10; ++n) { NSLog(@”N=%d”, n); [object callMethod:1 thing:2]; } } @end
  36. 36. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 signatute:(float)param2 { for (int n = 0; n < 10; ++n) { NSLog(@”N=%d”, n); [object callMethod:1 thing:2]; } } @end
  37. 37. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 signatute:(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]; } } @end
  38. 38. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 signatute:(float)param2 { for (int n = 0; n < 10; ++n) { NSLog(@”N=%d”, n); NSS [object callMethod:1 thing:2]; tri } ng } @end
  39. 39. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 signatute:(float)param2 { for (int n = 0; n < 10; ++n) { NSLog(@”N=%d”, n); [object callMethod:1 thing:2]; } } @end
  40. 40. iPhone development a brief introduction pete goodliffe @implementation MyClass - (id) thisIsAMethod:(int)param1 signatute:(float)param2 { for (int n = 0; n < 10; ++n) { NSLog(@”N=%d”, n); [object callMethod:1 thing:2]; } Can } call nil @end
  41. 41. 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]];
  42. 42. iPhone development a brief introduction pete goodliffe Method names parameters object [circle setCenterAtX:(float)x y:(float)y]; method name method name is: setCenterAtX:y: SEL s = @selector(setCenterAtX:y:); [circle performSelector:s];
  43. 43. iPhone development a brief introduction pete goodliffe parameter types: int, float, unsigned, etc syntax: (return type) id
  44. 44. iPhone development a brief introduction pete goodliffe .h file @class ForwardDeclaration; @interface MyClass : NSObject { ForwardDeclaration *member; bool otherMember; } - (void) init; - (id) initWithItems:(NSArray*)array enabled:(bool)enabled; + (id) myClassWithItems:(NSArray*)array; @end
  45. 45. iPhone development a brief introduction pete goodliffe @class ForwardDeclaration; @interface MyClass : NSObject { ForwardDeclaration *member; bool otherMember; } - (void) init; - (id) initWithItems:(NSArray*)array enabled:(bool)enabled; + (id) myClassWithItems:(NSArray*)array; @end
  46. 46. iPhone development a brief introduction pete goodliffe @class ForwardDeclaration; @interface MyClass : NSObject { ForwardDeclaration *member; bool otherMember; } - (void) init; - (id) initWithItems:(NSArray*)array enabled:(bool)enabled; + (id) myClassWithItems:(NSArray*)array; @end
  47. 47. iPhone development a brief introduction pete goodliffe @class ForwardDeclaration; @interface MyClass : NSObject { ForwardDeclaration *member; bool otherMember; } - (void) init; - (id) initWithItems:(NSArray*)array enabled:(bool)enabled; + (id) myClassWithItems:(NSArray*)array; @end
  48. 48. iPhone development a brief introduction pete goodliffe @class ForwardDeclaration; @interface MyClass : NSObject { ForwardDeclaration *member; bool otherMember; } - (void) init; - (id) initWithItems:(NSArray*)array enabled:(bool)enabled; + (id) myClassWithItems:(NSArray*)array; @end
  49. 49. iPhone development a brief introduction pete goodliffe @class ForwardDeclaration; @interface MyClass : NSObject { ForwardDeclaration *member; bool otherMember; } - (void) init; - (id) initWithItems:(NSArray*)array enabled:(bool)enabled; + (id) myClassWithItems:(NSArray*)array; @end
  50. 50. iPhone development a brief introduction pete goodliffe @class ForwardDeclaration; @interface MyClass : NSObject { ForwardDeclaration *member; bool otherMember; } - (void) init; - (id) initWithItems:(NSArray*)array enabled:(bool)enabled; + (id) myClassWithItems:(NSArray*)array; @end
  51. 51. iPhone development a brief introduction pete goodliffe @class ForwardDeclaration; @interface MyClass : NSObject { ForwardDeclaration *member; bool otherMember; } - (void) init; - (id) initWithItems:(NSArray*)array enabled:(bool)enabled; + (id) myClassWithItems:(NSArray*)array; @end
  52. 52. iPhone development a brief introduction pete goodliffe Objective C++ In .mm files Classes can contain C++ objects May use in functions You can use RAII C++ libraries
  53. 53. iPhone development a brief introduction pete goodliffe Properties @interface MyClass { int harold; } @property (nonatomic,assign) int harold; @end In MyClass.m... @interface MyClass @synthesize harold; @end This will become important when we look at creating UIs
  54. 54. iPhone development a brief introduction pete goodliffe The tao of objects You don’t call methods You pass messages to objects [theObject sendMessage:parameter];
  55. 55. 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) { // ... } };
  56. 56. 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 { // ... } @end
  57. 57. iPhone development a brief introduction pete goodliffe Categories @interface NSObject (Foo) - (void) extraFooMethod; @end NSArray *array = [NSArray array]; [array extraFooMethod];
  58. 58. 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];
  59. 59. iPhone development a brief introduction pete goodliffe Retain Action count [[object alloc] init]; 1 [object retain]; 2 [object release]; 1 [object release]; 0 [object dealloc];
  60. 60. iPhone development a brief introduction pete goodliffe The usual suspects NSObject NSString NSArray NSMutableArray NSNumber NSThread NSDictionary NSMutableDictionary NSApplication NSData NSMutableData NSURL NSSet NSMutableSet NSValue
  61. 61. iPhone development a brief introduction pete goodliffe Statically typed my arse #import
  62. 62. iPhone development a brief introduction pete goodliffe Idioms Delegates Key-value coding Protocol (interfaces) formal and informal
  63. 63. 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 C
  64. 64. 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
  65. 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 Technologies
  66. 66. 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 UI
  67. 67. iPhone development a brief introduction pete goodliffe Interface Builder
  68. 68. 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 framework
  69. 69. iPhone development a brief introduction pete goodliffe
  70. 70. 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 IBAction
  71. 71. 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; @end
  72. 72. 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 UI
  73. 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 UI Technologies
  74. 74. iPhone development a brief introduction pete goodliffe ‣ Intro Key in 90 minutes... ‣ 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 Technologies
  75. 75. iPhone development a brief introduction pete goodliffe UIKit Core Graphics Core Audio Media Core / AVFoundation MapKit / Core Location CoreData (or sqlite) OpenGL ES External Accessory
  76. 76. 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
  77. 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 Technologies
  78. 78. 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 Technologies
  79. 79. 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 type
  80. 80. iPhone development a brief introduction pete goodliffe App store submit get rejected fix it resubmit profit
  81. 81. 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 Technologies
  82. 82. 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
  83. 83. 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 Technologies
  84. 84. 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/
  85. 85. 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
  86. 86. 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
  87. 87. iPhone development a brief introduction pete goodliffe in 90 minutes... ‣ Intro ‣ The tools ‣ The language ‣ The UI Tips Tips Demo Intro Tools and tricks ‣ Key technologies ‣ Deploying Further info ‣ Further info Language ‣ Tips and tricks Deploying ‣ The demo UI Technologies
  88. 88. iPhone development a brief introduction pete goodliffe Thinking iPhone
  89. 89. iPhone development a brief introduction pete goodliffe Get the UI right HIG resource conservation (alpha blending, prerendering)
  90. 90. iPhone development a brief introduction pete goodliffe The network is not always available
  91. 91. iPhone development a brief introduction pete goodliffe Do not write to disk (often)
  92. 92. iPhone development a brief introduction pete goodliffe Conserve resources RAM CPU filesystem
  93. 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 Technologies
  94. 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 Technologies
  95. 95. 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 Technologies
  96. 96. iPhone development a brief introduction pete goodliffe (wish me luck) wasn’t that marvellous?!
  97. 97. iPhone development a brief introduction pete goodliffe Pete Goodliffe pete@goodliffe.net
  1. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×