Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

iOS Einstieg und Ausblick

593 views

Published on

Vortrag auf der mobile DevCon 2011:

iOS von Apple hat sich inzwischen schon zu einem ausgereiften mobilen Betriebssystem entwickelt. Trotzdem darf auch hier Apple nicht stehen bleiben. Diese Session gibt einen Einblick über den aktuellen Stand von iOS und zeigt die wichtigsten Konzepte.

Published in: Technology, News & Politics
  • Be the first to comment

  • Be the first to like this

iOS Einstieg und Ausblick

  1. 1. iOS  Eins(eg  und  Ausblick  
  2. 2. Wer  bin  ich?  stefan.scheidt@opitz-­‐consul(ng.com   @stefanscheidt   Solu(on  Architect  
  3. 3. Märkte Kunden Leistungs- Fakten angebotn Java n Branchen- n IT-Strategie n Gründung 1990n SOA übergreifend n Beratung n 400 Mitarbeitern ORACLE n Über 600 n Implementierung n 8 Standorte in D/n BI/DWH Kunden n Betrieb PLn Outtasking n Training Industrie / Versorger / Handel / Logistik / Telekommunikation Dienstleistungen 29% 29% 42% Öffentliche Auftraggeber / Banken & Versicherungen / Vereine & Verbände <Präsentationstitel – bitte im Folienmaster ändern> © OPITZ CONSULTING GmbH 2011 Seite 3
  4. 4. Wer  sind  Sie?  
  5. 5. Wie  alles  begann...  
  6. 6. 1985:  US-­‐Patent  281,686  
  7. 7. 1993:  Apple  Newton  MessagePad  
  8. 8. ????:  Prototyp  „touchscreen  phone  for  workplace“  
  9. 9. 200X:  Project  Purple  1  
  10. 10. 2007:  Das  iPhone...  
  11. 11. Aktuelle  iOS-­‐Hardware  
  12. 12. Aktuelle  iOS-­‐Hardware  
  13. 13. Aktuelle  iOS-­‐Hardware  
  14. 14. Aktuelle  iOS-­‐Hardware  
  15. 15. Unterschiede  Display:      480  x  360  (iPhone/iPod  touch)      960  x  640  (iPhone/iPod  touch  „v4“)   1024  x  768  (iPad)  RAM:   128  bis  512  MB  Flash:   4  bis  64  GB  CPU:   ARM  412  GHz  bis   Apple  A5  Dualcore  1  GHz  Gadgets:   UMTS/GPS,  Front-­‐Kamera   Kompass,  Gyroskop,  ...  
  16. 16. iOS   Unix DarwinMac OS X iOS
  17. 17. Für  iOS  entwickeln   Web-­‐Apps   „verpackte“  Web-­‐Apps  (PhoneGap)  „Crosspla^orm-­‐Tool-­‐Apps“  (Titanium  Mobile)   „crosscompiled  Apps“  (XMLVM)   ...     „na(ve  Apps“  (iOS  SDK)    
  18. 18. iOS  SDK  2007:   Noch  kein  SDK  Anfang  2008:   SDK  für  iPhone  OS  2.0  Mi]e  2008:   App  Store  öffnet  Mi]e  2009:   iOS  3  Mi]e  2010:   iOS  4  Herbst  2011:   iOS  5  
  19. 19. iOS  SDK   Obje c(ve Cocoa  Touch   -­‐C  UIKit,  MapKit,  Event  Kit  UI,  Game  Kit,  iAd,  ...   Media  Core  Graphics,  Core  Animabon,  Core  Text,  Open  GL  ES,  Core  Audio,  AV  Foundabon,  ...   Core  Services   Core  Foundabon,  Foundabon,  CFNetwork,   Core  Data,  Core  Locabon,  Event  Kit,  ...   C   Core  OS  
  20. 20. Objec(ve-­‐C   =  C  +  Smalltalk   ObjC   C  
  21. 21. Eigenschaeen  von  Objec(v-­‐C   objektorien(ert   basiert  auf  Message  Passing   Dynamic  Binding  /  Dynamic  Typing   Introspec(on   Einfach-­‐Vererbung  und  Protocols   Erweiterungen  durch  Categories   Proper(es   Blocks  (C)  
  22. 22. iOS  und  Memory  Management   Objec(ve-­‐C  2.0  bietet      Garbage  Collec(on.     Aber  leider  nicht  für  iOS...     
  23. 23. Memory  Management  ohne  Garbage  Collec(on?    Durch  Reference  Coun(ng:        
  24. 24. Die  gute  Nachricht:     Ab  iOS  5  gibt‘s  Automa(c  Reference  Coun(ng       
  25. 25. Ein  bisschen  Objec(ve-­‐C  Code...  
  26. 26.                                [NewsItem  alloc]             News  Items  benutzen  
  27. 27.                              [[NewsItem  alloc]  initWithTitle:@"News  Item  1"                                                                    andSubtitle:@"Subtitle  1"]           News  Items  benutzen  
  28. 28. NewsItem*  i1  =  [[NewsItem  alloc]  initWithTitle:@"News  Item  1"                                                                    andSubtitle:@"Subtitle  1"];           News  Items  benutzen  
  29. 29. NewsItem*  i1  =  [[NewsItem  alloc]  initWithTitle:@"News  Item  1"                                                                    andSubtitle:@"Subtitle  1"];  NewsItem*  i2  =  [[NewsItem  alloc]  initWithTitle:@"News  Item  2"                                                                    andSubtitle:@"Subtitle  2"];       News  Items  benutzen  
  30. 30. NewsItem*  i1  =  [[NewsItem  alloc]  initWithTitle:@"News  Item  1"                                                                    andSubtitle:@"Subtitle  1"];  NewsItem*  i2  =  [[NewsItem  alloc]  initWithTitle:@"News  Item  2"                                                                    andSubtitle:@"Subtitle  2"];                                                    [NSMutableArray  alloc]     News  Items  benutzen  
  31. 31. NewsItem*  i1  =  [[NewsItem  alloc]  initWithTitle:@"News  Item  1"                                                                    andSubtitle:@"Subtitle  1"];  NewsItem*  i2  =  [[NewsItem  alloc]  initWithTitle:@"News  Item  2"                                                                    andSubtitle:@"Subtitle  2"];                                                  [[NSMutableArray  alloc]                                                                  initWithObjects:  i1,  i2,  nil]   News  Items  benutzen  
  32. 32. NewsItem*  i1  =  [[NewsItem  alloc]  initWithTitle:@"News  Item  1"                                                                    andSubtitle:@"Subtitle  1"];  NewsItem*  i2  =  [[NewsItem  alloc]  initWithTitle:@"News  Item  2"                                                                    andSubtitle:@"Subtitle  2"];  NSMutableArray*  items  =  [[NSMutableArray  alloc]                                                                  initWithObjects:  i1,  i2,  nil];   News  Items  benutzen  
  33. 33. #import  <Foundation/Foundation.h>    @interface  NewsItem  :  NSObject                            @end   NewsItem.h  
  34. 34. #import  <Foundation/Foundation.h>    @interface  NewsItem  :  NSObject  {          NSString*  title;          NSString*  subtitle;          BOOL  unread;  }                  @end   NewsItem.h  
  35. 35. #import  <Foundation/Foundation.h>    @interface  NewsItem  :  NSObject  {          NSString*  title;          NSString*  subtitle;          BOOL  unread;  }    @property  (copy)  NSString*  title;  @property  (copy)  NSString*  subtitle;  @property  (assign)  BOOL  unread;          @end   NewsItem.h  
  36. 36. #import  <Foundation/Foundation.h>    @interface  NewsItem  :  NSObject              @property  (copy)  NSString*  title;  @property  (copy)  NSString*  subtitle;  @property  (assign)  BOOL  unread;    -­‐  (id)initWithTitle:(NSString*)aTitle                  andSubtitle:(NSString*)aSubtitle;    @end   NewsItem.h  
  37. 37. #import  "NewsItem.h"    @implementation  NewsItem                            ...   NewsItem.m  
  38. 38. #import  "NewsItem.h"    @implementation  NewsItem  @synthesize  title,  subtitle,  unread;                          ...   NewsItem.m  
  39. 39. #import  "NewsItem.h"    @implementation  NewsItem  @synthesize  title,  subtitle,  unread;    -­‐  (id)initWithTitle:(NSString  *)aTitle              andSubtitle:(NSString  *)aSubtitle  {          self  =  [super  init];          if  (self)  {                  title  =  [aTitle  copy];                  subtitle  =  [aSubtitle  copy];                  unread  =  YES;          }                  return  self;  }    ...   NewsItem.m  
  40. 40. ...    -­‐  (void)dealloc  {          [title  release];          [subtitle  release];          [super  dealloc];  }    @end   NewsItem.m  (cont.)  
  41. 41. Tooling   Xcode  4  mit   Instruments  Interface  Builder   iOS  Simulator  
  42. 42. iOS  Developer  Programm  Apple  Developer   Kostenfrei  iOS  Developer  Program  Individual      $99  /  Jahr  „For  an  individual  developer  who  will  be  creabng  free  and  commercial  iOS  apps  for  distribubon  on  the  App  Store.“  iOS  Developer  Program  Company      $99  /  Jahr  For  a  company  with  a  development  team  who  will  be  creabng  free  and  commercial  iOS  apps  for  distribubon  on  the  App  Store.  iOS  Developer  Enterprise  Program   $299  /  Jahr  For  a  company  who  will  be  creabng  proprietary,  in-­‐house  iOS  apps.  iOS  Developer  University  Program   Kostenfrei  For  higher  educabon  insbtubons  looking  to  introduce  iOS  development  into  their  curriculum.  
  43. 43. Volume  Purchase  Program   „Offer  Your  Apps  in  Volume“     „Sell  and  Distribute  Custom  B2B  Apps   to  Business  Customers“    zur  Zeit  nur  für  „businesses  and  educa(on   ins(tu(ons  in  the  United  States“  
  44. 44. Provisioning  iOS  Development  Cer(ficate  besorgen  Für  Beta-­‐Tests:  Testgeräte  registrieren   App-­‐ID  erzeugen   Provisioning  Profile  erzeugen   App  verteilen  
  45. 45. App  Store  Review...  
  46. 46. Ausblick  -­‐  iCloud  
  47. 47. Ausblick  -­‐  Siri  
  48. 48. Mehr  Wissen...  
  49. 49. Online-­‐Dokumenta(on  
  50. 50. Sample  Code  
  51. 51. Online-­‐Ressourcen   WWDC  Videos:    hsp://developer.apple.com/videos/wwdc/2010/  hsp://developer.apple.com/videos/wwdc/2011/    
  52. 52. Online-­‐Ressourcen   Weblogs  (willkürliche  Auswahl):    hsp://www.raywenderlich.com/tutorials   hsp://cocoawithlove.com/   hsp://www.mikeash.com/pyblog/   hsp://www.cimgf.com/    
  53. 53. Bücher  
  54. 54. Bücher  
  55. 55. Bücher  
  56. 56. Bücher  
  57. 57. Bücher  
  58. 58. Bücher  
  59. 59. Quellen   Wie  alles  begann  h]p://mobile-­‐review.com/arbcles/2010/iphone-­‐history1-­‐en.shtml  h]p://mobile-­‐review.com/arbcles/2010/iphone-­‐history2-­‐en.shtml  h]p://mobile-­‐review.com/arbcles/2010/iphone-­‐history3-­‐en.shtml   h]p://en.wikipedia.org/wiki/MessagePad   h]p://en.wikipedia.org/wiki/History_of_the_iPhone     Hardware-­‐Spezifika(onen   h]p://en.wikipedia.org/wiki/IPod_Touch#Specificabons   h]p://en.wikipedia.org/wiki/IPhone#Model_comparison   h]p://en.wikipedia.org/wiki/IPad#Technical_specificabons    
  60. 60. Quellen   iOS  SDK   h]p://en.wikipedia.org/wiki/IOS_(Apple)  h]p://en.wikipedia.org/wiki/IOS_version_history   h]p://en.wikipedia.org/wiki/App_Store_(iOS)     Reference  Coun(ng  h]p://cocoadevcentral.com/d/learn_objecbvec/      
  61. 61. Quellen   Volume  Purchase  Program  h]ps://developer.apple.com/appstore/resources/volume/     App  Store  Review   h]p://developer.apple.com/appstore/guidelines.html   h]p://reviewbmes.shinydevelopment.com/     iCloud   h]ps://developer.apple.com/icloud/index.php    
  62. 62. Inspec(on  by  Anoto  AB,  h]p://www.flickr.com/photos/anotogroup/3465589650     library  porn   by  Swiv,  h]p://www.flickr.com/photos/swiv/5719738832/  
  63. 63. Vielen  Dank   für  Ihr  Interesse!    stefan.scheidt@opitz-­‐consul(ng.com   @stefanscheidt  

×