SlideShare ist ein Scribd-Unternehmen logo
1 von 63
iOS
Einstieg und Ausblick
Wer bin ich?



stefan.scheidt@opitz-consulting.com
          @stefanscheidt
         Solution Architect
Märkte                   Kunden                                               Leistungs-             Fakten
                                                                              angebot
Java                    Branchen-                                           IT-Strategie          Gründung 1990
SOA                      übergreifend                                        Beratung              400 Mitarbeiter
ORACLE                  Über 600                                            Implementierung       8 Standorte in
BI/DWH                   Kunden                                              Betrieb                D/PL
Outtasking                                                                   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
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: Das 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)
„Crossplatform-Tool-Apps“ (Titanium Mobile)
      „crosscompiled Apps“ (XMLVM)
                    ...
          „native Apps“ (iOS SDK)
iOS SDK

2007:          Noch kein SDK
Anfang 2008:   SDK für iPhone OS 2.0
Mitte 2008:    App Store öffnet
Mitte 2009:    iOS 3
Mitte 2010:    iOS 4
Herbst 2011:   iOS 5
iOS SDK
              Cocoa Touch
UIKit, MapKit, Event Kit UI, Game Kit, iAd, ...

                  Media
Core Graphics, Core Animation, Core Text,
Open GL ES, Core Audio, AV Foundation, ...

             Core Services
Core Foundation, Foundation, CFNetwork,
  Core Data, Core Location, Event Kit, ...

                 Core OS
Objective-C
      =
C + Smalltalk

                    ObjC
                C
Eigenschaften von Objectiv-C
          objektorientiert
    basiert auf Message Passing
 Dynamic Binding / Dynamic Typing
            Introspection
  Einfach-Vererbung und Protocols
  Erweiterungen durch Categories
              Properties
              Blocks (C)
iOS und Memory Management


   Objective-C 2.0 bietet
                             
    Garbage Collection.

 Aber leider nicht für iOS ... 
Memory Management
ohne Garbage Collection?

Durch Reference Counting:
Die gute Nachricht:

      Ab iOS 5 gibt‘s
Automatic Reference Counting.

             
Ein bisschen Objective-C Code ...
[NewsItem alloc]




      News Items benutzen
[[NewsItem alloc] initWithTitle:@"News Item 1"
                  andSubtitle:@"Subtitle 1"]




       News Items benutzen
NewsItem* i1 = [[NewsItem alloc] initWithTitle:@"News Item 1"
                                 andSubtitle:@"Subtitle 1"];




                      News Items benutzen
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
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
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
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
#import <Foundation/Foundation.h>

@interface NewsItem : NSObject




@end

                   NewsItem.h
#import <Foundation/Foundation.h>

@interface NewsItem : NSObject
{
    NSString* title;
    NSString* subtitle;
    BOOL unread;
}




@end

                   NewsItem.h
#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
#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
#import "NewsItem.h"

@implementation NewsItem




...

                   NewsItem.m
#import "NewsItem.h"

@implementation NewsItem
@synthesize title, subtitle, unread;




...

                   NewsItem.m
#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.)
Tooling




   Xcode 4 mit                Instruments
Interface Builder


      iOS Simulator
iOS Developer Programm

Apple Developer                                                      Kostenfrei
iOS Developer Program Individual                                      $99 / Jahr
„For an individual developer who will be creating free and
commercial iOS apps for distribution on the App Store.“
iOS Developer Program Company                                         $99 / Jahr
For a company with a development team who will be creating free
and commercial iOS apps for distribution on the App Store.
iOS Developer Enterprise Program                                     $299 / Jahr
For a company who will be creating proprietary, in-house iOS apps.
iOS Developer University Program                                     Kostenfrei
For higher education institutions looking to introduce iOS
development into their curriculum.
Volume Purchase Program

      „Offer Your Apps in Volume“

  „Sell and Distribute Custom B2B Apps
          to Business Customers“

Zur Zeit nur für „businesses and education
     institutions in the United States“
Provisioning

iOS Development Certificate besorgen
Für Beta-Tests: Testgeräte registrieren
          App-ID erzeugen
    Provisioning Profile erzeugen
            App verteilen
App Store Review ...
Ausblick - iCloud
Ausblick - Siri
Mehr Wissen ...
Online-Dokumentation
Sample Code
Online-Ressourcen


              WWDC Videos:

http://developer.apple.com/videos/wwdc/2010/
http://developer.apple.com/videos/wwdc/2011/
Online-Ressourcen

  Weblogs (willkürliche Auswahl):

http://www.raywenderlich.com/tutorials
       http://cocoawithlove.com/
   http://www.mikeash.com/pyblog/
         http://www.cimgf.com/
Bücher
Bücher
Bücher
Bücher
Bücher
Bücher
Quellen
                        Wie alles begann
http://mobile-review.com/articles/2010/iphone-history1-en.shtml
http://mobile-review.com/articles/2010/iphone-history2-en.shtml
http://mobile-review.com/articles/2010/iphone-history3-en.shtml
            http://en.wikipedia.org/wiki/MessagePad
       http://en.wikipedia.org/wiki/History_of_the_iPhone

                   Hardware-Spezifikationen
    http://en.wikipedia.org/wiki/IPod_Touch#Specifications
    http://en.wikipedia.org/wiki/IPhone#Model_comparison
   http://en.wikipedia.org/wiki/IPad#Technical_specifications
Quellen

                     iOS SDK
    http://en.wikipedia.org/wiki/IOS_(Apple)
http://en.wikipedia.org/wiki/IOS_version_history
  http://en.wikipedia.org/wiki/App_Store_(iOS)

             Reference Counting
http://cocoadevcentral.com/d/learn_objectivec/
Quellen

               Volume Purchase Program
https://developer.apple.com/appstore/resources/volume/

                    App Store Review
  http://developer.apple.com/appstore/guidelines.html
       http://reviewtimes.shinydevelopment.com/

                         iCloud
     https://developer.apple.com/icloud/index.php
Inspection
by Anoto AB, http://www.flickr.com/photos/anotogroup/3465589650

                            library porn
     by Swiv, http://www.flickr.com/photos/swiv/5719738832/
Vielen Dank
      für Ihr Interesse!
stefan.scheidt@opitz-consulting.com
           @stefanscheidt

Weitere ähnliche Inhalte

Andere mochten auch

営業代行“第2営業部“ご説明
営業代行“第2営業部“ご説明営業代行“第2営業部“ご説明
営業代行“第2営業部“ご説明
miwatch
 
кес розтин 1 никифор л.в. техніка аб прфілактика
кес розтин 1 никифор л.в. техніка аб прфілактикакес розтин 1 никифор л.в. техніка аб прфілактика
кес розтин 1 никифор л.в. техніка аб прфілактика
agusya
 
2.основы здоровьесберегающих технологий
2.основы здоровьесберегающих технологий2.основы здоровьесберегающих технологий
2.основы здоровьесберегающих технологий
Irish_Ka12
 
Вторичный рынок "Новой Москвы"
Вторичный рынок "Новой Москвы"Вторичный рынок "Новой Москвы"
Вторичный рынок "Новой Москвы"
МИЭЛЬ
 

Andere mochten auch (16)

Lommi: Kouluterveyskysely 2010 Itä-Suomessa
Lommi: Kouluterveyskysely 2010 Itä-SuomessaLommi: Kouluterveyskysely 2010 Itä-Suomessa
Lommi: Kouluterveyskysely 2010 Itä-Suomessa
 
Paper UAS PSTI - I Putu Agus Eka Pratama - Bank Danamon
Paper UAS PSTI - I Putu Agus Eka Pratama -  Bank DanamonPaper UAS PSTI - I Putu Agus Eka Pratama -  Bank Danamon
Paper UAS PSTI - I Putu Agus Eka Pratama - Bank Danamon
 
ATDD mit Concordion und WebDriver - Berlin Expert Days - OPITZ CONSULTING - T...
ATDD mit Concordion und WebDriver - Berlin Expert Days - OPITZ CONSULTING - T...ATDD mit Concordion und WebDriver - Berlin Expert Days - OPITZ CONSULTING - T...
ATDD mit Concordion und WebDriver - Berlin Expert Days - OPITZ CONSULTING - T...
 
Presentacion
PresentacionPresentacion
Presentacion
 
営業代行“第2営業部“ご説明
営業代行“第2営業部“ご説明営業代行“第2営業部“ご説明
営業代行“第2営業部“ご説明
 
Netflix
NetflixNetflix
Netflix
 
Evaluation
EvaluationEvaluation
Evaluation
 
Pp prøve for slideshare
Pp prøve for slidesharePp prøve for slideshare
Pp prøve for slideshare
 
Fotoverslag The Future is Now
Fotoverslag The Future is NowFotoverslag The Future is Now
Fotoverslag The Future is Now
 
кес розтин 1 никифор л.в. техніка аб прфілактика
кес розтин 1 никифор л.в. техніка аб прфілактикакес розтин 1 никифор л.в. техніка аб прфілактика
кес розтин 1 никифор л.в. техніка аб прфілактика
 
2.основы здоровьесберегающих технологий
2.основы здоровьесберегающих технологий2.основы здоровьесберегающих технологий
2.основы здоровьесберегающих технологий
 
Catalogo Otoño-Invierno 2011
Catalogo Otoño-Invierno 2011Catalogo Otoño-Invierno 2011
Catalogo Otoño-Invierno 2011
 
Machines
MachinesMachines
Machines
 
Вторичный рынок "Новой Москвы"
Вторичный рынок "Новой Москвы"Вторичный рынок "Новой Москвы"
Вторичный рынок "Новой Москвы"
 
กระบวนการเสียง Input
กระบวนการเสียง Inputกระบวนการเสียง Input
กระบวนการเสียง Input
 
Размещение и монтаж СПА
Размещение и монтаж СПАРазмещение и монтаж СПА
Размещение и монтаж СПА
 

Ähnlich wie ioS Einstieg und Ausblick - Mobile DevCon Hamburg 2011 - OPITZ CONSULTING - Stefan Scheidt -

iPhone Workshop Mobile Monday Ahmedabad
iPhone Workshop Mobile Monday AhmedabadiPhone Workshop Mobile Monday Ahmedabad
iPhone Workshop Mobile Monday Ahmedabad
momoahmedabad
 
David Thiel - Secure Development On iOS
David Thiel - Secure Development On iOSDavid Thiel - Secure Development On iOS
David Thiel - Secure Development On iOS
Source Conference
 
iPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumiPhone/iPad Development with Titanium
iPhone/iPad Development with Titanium
Axway Appcelerator
 

Ähnlich wie ioS Einstieg und Ausblick - Mobile DevCon Hamburg 2011 - OPITZ CONSULTING - Stefan Scheidt - (20)

iOS Einstieg und Ausblick
iOS Einstieg und AusblickiOS Einstieg und Ausblick
iOS Einstieg und Ausblick
 
iOS Einstieg und Ausblick - Mobile DevCon 2011 - OPITZ CONSULTING -Stefan Sch...
iOS Einstieg und Ausblick - Mobile DevCon 2011 - OPITZ CONSULTING -Stefan Sch...iOS Einstieg und Ausblick - Mobile DevCon 2011 - OPITZ CONSULTING -Stefan Sch...
iOS Einstieg und Ausblick - Mobile DevCon 2011 - OPITZ CONSULTING -Stefan Sch...
 
iphone presentation
iphone presentationiphone presentation
iphone presentation
 
iPhone Workshop Mobile Monday Ahmedabad
iPhone Workshop Mobile Monday AhmedabadiPhone Workshop Mobile Monday Ahmedabad
iPhone Workshop Mobile Monday Ahmedabad
 
SpringPeople Introduction to iOS Apps Development
SpringPeople Introduction to iOS Apps DevelopmentSpringPeople Introduction to iOS Apps Development
SpringPeople Introduction to iOS Apps Development
 
David Thiel - Secure Development On iOS
David Thiel - Secure Development On iOSDavid Thiel - Secure Development On iOS
David Thiel - Secure Development On iOS
 
Beginning Real World iOS App Development
Beginning Real World iOS App DevelopmentBeginning Real World iOS App Development
Beginning Real World iOS App Development
 
MSR iOS Tranining
MSR iOS TraniningMSR iOS Tranining
MSR iOS Tranining
 
iPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumiPhone/iPad Development with Titanium
iPhone/iPad Development with Titanium
 
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
 
Intro to appcelerator
Intro to appceleratorIntro to appcelerator
Intro to appcelerator
 
Appcelerator Titanium - An Introduction to the Titanium Ecosystem
Appcelerator Titanium - An Introduction to the Titanium EcosystemAppcelerator Titanium - An Introduction to the Titanium Ecosystem
Appcelerator Titanium - An Introduction to the Titanium Ecosystem
 
Lviv MDDay 2014. Антон Голуб “Pebble and i os – notify me fully!”
Lviv MDDay 2014. Антон Голуб “Pebble and i os – notify me fully!”Lviv MDDay 2014. Антон Голуб “Pebble and i os – notify me fully!”
Lviv MDDay 2014. Антон Голуб “Pebble and i os – notify me fully!”
 
Extending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native ModulesExtending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native Modules
 
Layer architecture of ios (1)
Layer architecture of ios (1)Layer architecture of ios (1)
Layer architecture of ios (1)
 
Session 1 - Introduction to iOS 7 and SDK
Session 1 -  Introduction to iOS 7 and SDKSession 1 -  Introduction to iOS 7 and SDK
Session 1 - Introduction to iOS 7 and SDK
 
iOS Introduction For Very Beginners
iOS Introduction For Very BeginnersiOS Introduction For Very Beginners
iOS Introduction For Very Beginners
 
XCode8.0
XCode8.0XCode8.0
XCode8.0
 
iOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyiOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET Guy
 
Hello world ios v1
Hello world ios v1Hello world ios v1
Hello world ios v1
 

Mehr von OPITZ CONSULTING Deutschland

Mehr von OPITZ CONSULTING Deutschland (20)

OC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle LizenzierungOC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle Lizenzierung
 
OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
 
OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"
 
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
 
OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"
 
OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"
 
10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
 
OC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-LizenzierungOC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-Lizenzierung
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
 
OC|Weekly Talk The Power of DevOps…
OC|Weekly Talk  The Power of DevOps…OC|Weekly Talk  The Power of DevOps…
OC|Weekly Talk The Power of DevOps…
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring
 
OC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remoteOC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remote
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud Nutzung
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

ioS Einstieg und Ausblick - Mobile DevCon Hamburg 2011 - OPITZ CONSULTING - Stefan Scheidt -

  • 2. Wer bin ich? stefan.scheidt@opitz-consulting.com @stefanscheidt Solution Architect
  • 3. Märkte Kunden Leistungs- Fakten angebot Java Branchen- IT-Strategie Gründung 1990 SOA übergreifend Beratung 400 Mitarbeiter ORACLE Über 600 Implementierung 8 Standorte in BI/DWH Kunden Betrieb D/PL Outtasking 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
  • 7. 1993: Apple Newton MessagePad
  • 8. ????: Prototyp „Touchscreen Phone for Workplace“
  • 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. iOS Unix Darwin Mac OS X iOS
  • 17. Für iOS entwickeln Web-Apps „verpackte“ Web-Apps (PhoneGap) „Crossplatform-Tool-Apps“ (Titanium Mobile) „crosscompiled Apps“ (XMLVM) ... „native Apps“ (iOS SDK)
  • 18. iOS SDK 2007: Noch kein SDK Anfang 2008: SDK für iPhone OS 2.0 Mitte 2008: App Store öffnet Mitte 2009: iOS 3 Mitte 2010: iOS 4 Herbst 2011: iOS 5
  • 19. iOS SDK Cocoa Touch UIKit, MapKit, Event Kit UI, Game Kit, iAd, ... Media Core Graphics, Core Animation, Core Text, Open GL ES, Core Audio, AV Foundation, ... Core Services Core Foundation, Foundation, CFNetwork, Core Data, Core Location, Event Kit, ... Core OS
  • 20. Objective-C = C + Smalltalk ObjC C
  • 21. Eigenschaften von Objectiv-C objektorientiert basiert auf Message Passing Dynamic Binding / Dynamic Typing Introspection Einfach-Vererbung und Protocols Erweiterungen durch Categories Properties Blocks (C)
  • 22. iOS und Memory Management Objective-C 2.0 bietet  Garbage Collection. Aber leider nicht für iOS ... 
  • 23. Memory Management ohne Garbage Collection? Durch Reference Counting:
  • 24. Die gute Nachricht: Ab iOS 5 gibt‘s Automatic Reference Counting. 
  • 26. [NewsItem alloc] News Items benutzen
  • 27. [[NewsItem alloc] initWithTitle:@"News Item 1" andSubtitle:@"Subtitle 1"] News Items benutzen
  • 28. NewsItem* i1 = [[NewsItem alloc] initWithTitle:@"News Item 1" andSubtitle:@"Subtitle 1"]; News Items benutzen
  • 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. 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. 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. 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
  • 34. #import <Foundation/Foundation.h> @interface NewsItem : NSObject { NSString* title; NSString* subtitle; BOOL unread; } @end NewsItem.h
  • 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. #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
  • 38. #import "NewsItem.h" @implementation NewsItem @synthesize title, subtitle, unread; ... NewsItem.m
  • 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. ... - (void)dealloc { [title release]; [subtitle release]; [super dealloc]; } @end NewsItem.m (cont.)
  • 41. Tooling Xcode 4 mit Instruments Interface Builder iOS Simulator
  • 42. iOS Developer Programm Apple Developer Kostenfrei iOS Developer Program Individual $99 / Jahr „For an individual developer who will be creating free and commercial iOS apps for distribution on the App Store.“ iOS Developer Program Company $99 / Jahr For a company with a development team who will be creating free and commercial iOS apps for distribution on the App Store. iOS Developer Enterprise Program $299 / Jahr For a company who will be creating proprietary, in-house iOS apps. iOS Developer University Program Kostenfrei For higher education institutions looking to introduce iOS development into their curriculum.
  • 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 education institutions in the United States“
  • 44. Provisioning iOS Development Certificate besorgen Für Beta-Tests: Testgeräte registrieren App-ID erzeugen Provisioning Profile erzeugen App verteilen
  • 51. Online-Ressourcen WWDC Videos: http://developer.apple.com/videos/wwdc/2010/ http://developer.apple.com/videos/wwdc/2011/
  • 52. Online-Ressourcen Weblogs (willkürliche Auswahl): http://www.raywenderlich.com/tutorials http://cocoawithlove.com/ http://www.mikeash.com/pyblog/ http://www.cimgf.com/
  • 59. Quellen Wie alles begann http://mobile-review.com/articles/2010/iphone-history1-en.shtml http://mobile-review.com/articles/2010/iphone-history2-en.shtml http://mobile-review.com/articles/2010/iphone-history3-en.shtml http://en.wikipedia.org/wiki/MessagePad http://en.wikipedia.org/wiki/History_of_the_iPhone Hardware-Spezifikationen http://en.wikipedia.org/wiki/IPod_Touch#Specifications http://en.wikipedia.org/wiki/IPhone#Model_comparison http://en.wikipedia.org/wiki/IPad#Technical_specifications
  • 60. Quellen iOS SDK http://en.wikipedia.org/wiki/IOS_(Apple) http://en.wikipedia.org/wiki/IOS_version_history http://en.wikipedia.org/wiki/App_Store_(iOS) Reference Counting http://cocoadevcentral.com/d/learn_objectivec/
  • 61. Quellen Volume Purchase Program https://developer.apple.com/appstore/resources/volume/ App Store Review http://developer.apple.com/appstore/guidelines.html http://reviewtimes.shinydevelopment.com/ iCloud https://developer.apple.com/icloud/index.php
  • 62. Inspection by Anoto AB, http://www.flickr.com/photos/anotogroup/3465589650 library porn by Swiv, http://www.flickr.com/photos/swiv/5719738832/
  • 63. Vielen Dank für Ihr Interesse! stefan.scheidt@opitz-consulting.com @stefanscheidt