iOS: Einstieg und Ausblick

Post on 13-May-2015

581 views 0 download

description

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.

Transcript of iOS: Einstieg und Ausblick

iOS  Eins(eg  und  Ausblick  

Wer  bin  ich?  

stefan.scheidt@opitz-­‐consul(ng.com  

@beezlebug  

Solu(on  Architect  

© OPITZ CONSULTING GmbH 2011 Seite 3 <Präsentationstitel – bitte im Folienmaster ändern>

OPITZ CONSULTING Vorlage Powerpoint 2011; Version 1.3; 10.05.2011; TGA, KSH

1Pager •  Layout ausschließlich für den

1Pager •  Einsatz ist bei Konferenzen,

ext. Veranstaltungen etc. obligatorisch. Die Folie ist Folie 2 (nach der Titelfolie)

•  Der Inhalt darf nicht verändert werden.

•  Ausnahme: Der Block Märkte darf situativ um Partnerlogos (ORACLE, etc.) ergänzt werden

Märkte n Java n SOA n ORACLE n BI/DWH n Outtasking

Kunden n Branchen-

übergreifend n Über 600

Kunden

Leistungs- angebot n IT-Strategie n Beratung n Implementierung n Betrieb n Training

Fakten n Gründung 1990 n 400 Mitarbeiter n 8 Standorte in D/

PL

Industrie / Versorger / Telekommunikation

29%

Handel / Logistik / Dienstleistungen 29%

42% Öffentliche Auftraggeber /

Banken & Versicherungen / Vereine & Verbände

© OPITZ CONSULTING GmbH 2011

Wer  sind  Sie?  

Wie  alles  begann...  

1985:  US-­‐Patent  281,686  

1993:  Apple  Newton  MessagePad  

????:  Prototyp  „touchscreen  phone  for  workplace“  

200X:  Project  Purple  1  

2007:  iPhone  

Aktuelle  iOS-­‐Hardware  

Aktuelle  iOS-­‐Hardware  

Aktuelle  iOS-­‐Hardware  

Aktuelle  iOS-­‐Hardware  

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,  ...  

iOS  

Unix

Darwin

Mac OS X

iOS

Für  iOS  entwickeln  

Web-­‐Apps  

„verpackte“  Web-­‐Apps  (PhoneGap)  

„Crosspla]orm-­‐Tool-­‐Apps“  (Titanium  Mobile)  

„crosscompiled  Apps“  (XMLVM)    

 

„na(ve  Apps“  (iOS  SDK)    

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  

iOS  SDK  

Cocoa  Touch  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,  ...  

Core  OS  C  

Objec(ve-­‐C  

Objec(ve-­‐C  =  

C  +  Smalltalk  

C  ObjC  

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  (ab  2.0)  

iOS  und  Memory  Management  

Objec(ve-­‐C  2.0  bietet  Garbage  Collec(on.  

 Aber  leider  nicht  für  iOS...  

 

 

Memory  Management  ohne  Garbage  Collec(on?  

 Durch  Reference  Coun(ng:  

     

Die  gute  Nachricht:    

Ab  iOS  5  gibt‘s  Automa(c  Reference  Coun(ng  

   

#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;    -­‐  (id)initWithTitle:(NSString*)aTitle                  andSubtitle:(NSString*)aSubtitle;    @end  

NewsItem.h  

#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  

...    -­‐  (void)dealloc  {          [title  release];          [subtitle  release];          [super  dealloc];  }    @end  

NewsItem.m  (cont.)  

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  

Tooling  

Xcode  4  mit  Interface  Builder  

Instruments  

iOS  Simulator  

iOS  Developer  Programm  

Apple  Developer   Kostenfrei  iOS  Developer  Program  Individual  „For  an  individual  developer  who  will  be  creabng  free  and  commercial  iOS  apps  for  distribubon  on  the  App  Store.“  

   $99  /  Jahr  

iOS  Developer  Program  Company  For  a  company  with  a  development  team  who  will  be  creabng  free  and  commercial  iOS  apps  for  distribubon  on  the  App  Store.  

   $99  /  Jahr  

iOS  Developer  Enterprise  Program  For  a  company  who  will  be  creabng  proprietary,  in-­‐house  iOS  apps.  

$299  /  Jahr  

iOS  Developer  University  Program  For  higher  educabon  insbtubons  looking  to  introduce  iOS  development  into  their  curriculum.  

Kostenfrei  

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“  

Provisioning  

App  verteilen  Ad  Hoc/App  Store  

Provisioning  Profile  erzeugen  Ad  Hoc/AppStore  

App-­‐ID  erzeugen  

Für  Beta-­‐Tests:  Geräte  mit  UDID  registrieren  

iOS  Development  Cer(ficate  besorgen  

App  Store  Review...  

Ausblick  -­‐  iCloud  

Mehr  Wissen...  

Online-­‐Dokumenta(on  

Sample  Code  

Online-­‐Ressourcen  

WWDC  Videos:    

hsp://developer.apple.com/videos/wwdc/2010/  hsp://developer.apple.com/videos/wwdc/2011/  

 

Online-­‐Ressourcen  

Weblogs  (willkürliche  Auswahl):    

hsp://www.raywenderlich.com/tutorials  hsp://cocoawithlove.com/  

hsp://www.mikeash.com/pyblog/  hsp://www.cimgf.com/  

 

Bücher  

Bücher  

Bücher  

Bücher  

Bücher  

Bücher  

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  

 

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/      

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    

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/  

Vielen  Dank  für  Ihr  Interesse!  

 stefan.scheidt@opitz-­‐consul(ng.com  

@beezlebug