IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

30
iOS Entwicklung Einführung Thomas Kruse, 14.12.2011

Transcript of IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

Page 1: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS EntwicklungEinführung

Thomas Kruse, 14.12.2011

Page 2: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung - Einführung

1. Chancen2. Voraussetzungen 3. Entwicklungsprozess4. Entwicklungsumgebungen

• Nativ• Alternativ

5. Zusammenfassung

14.12.2011 iOS-Entwicklung Seite 2

Warum?

Wie?

Page 3: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Chancen – der Markt

• Große installierte Basis (Stand 10/2011)

• > 146 Millionen iPhones• > 61 Millionen iPads

• Wenig Hardware/Software-Variationen• Weltweiter Marktplatz mit > 500.000 Apps

• Reisen• Automotive• Gesundheit• Spiele• …

14.12.2011 Seite 3

Page 4: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Chancen – eigene Entwicklung

• Spiele-Apps• Repeat it

Memospiel

• It‘s QuiztimeWissensspiel

• Health-Care-App• Youri

(Entwicklungsnamen, App in Projektierungsphase)

14.12.2011 Seite 4

Page 5: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung - Übersicht

1. Chancen2. Voraussetzungen 3. Entwicklungsprozess4. Entwicklungsumgebungen

• Nativ• Alternativ

5. Zusammenfassung

14.12.2011 iOS-Entwicklung Seite 5

Wie?

Page 6: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Voraussetzungen

• Hardware• iDevice (iPhone, iPod touch, iPad)• Mac (MacBook, Mac mini, iMac, Mac Pro)

• Software• OS X Lion (OS X 10.7.x)• Xcode 4.2.x für Lion• iOS 5.x auf dem iDevice

• Teilnahme am Apple-Developer-Program

14.12.2011 Seite 6

Page 7: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung - Übersicht

1. Chancen2. Voraussetzungen 3. Entwicklungsprozess4. Entwicklungsumgebungen

• Nativ• Alternativ

5. Zusammenfassung

14.12.2011 iOS-Entwicklung Seite 7

Wie?

Page 8: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Entwicklungsprozess

14.12.2011 Seite 8

App-übergreifend

App-spezifisch

APP

Developer-Certificate

Development iDevicesDeveloper-Account

12

3

App-ID App-Store-Submitting

Provisioning Profiles Developing/Testing/Building

45 6

7

Page 9: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

(1,2) Account/-Certificate

• Apple-Developer-Program: http://developer.apple.com/programs/ios/

• Registrierung als iOS Developer ($99 p.a.)• Registrierung der Entwickler-Hardware

• Entwickler-Certificate anfordern• In lokale Key Chain eintragen

Team Provisioning Profile nun einsatzbereit

14.12.2011 Seite 9

Page 10: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

(3) Development iDevices

• Eigenes iDevice kann direkt zum Entwickeln und Testen verwendet werden

• Fremde iDevices müssen als Test-Devices registriert werden (max. 100)

14.12.2011 Seite 10

Page 11: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Entwicklungsprozess

14.12.2011 Seite 11

Page 12: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

420226475 de.kruse-it.geelong 20110001

(4) App-ID

• Eindeutige ID (versionsübergreifend)

• Apple-ID, Bundle-ID, StockKeepingUnit

• Metadaten (versionsspezifisch, aber fix für Version)

• App-Name, Icon• App Store-Kategorien (2) und Subkategorien (2)

• Kontakt-Informationen• Beschreibung, und Screenshots (lokalisiert)

• Preis und Märkte mittels Price-Tiers

14.12.2011 Seite 12

Page 13: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

(5) Provisioning Profiles

• Alle Apps müssen signiert sein ( Profiles)

• Ad Hoc Provisioning Profile• Für Entwicklungszwecke• An Development-iDevices gebunden

• Distribution Provisioning Profile• Für App Store Distribution• Wird für finalen Build für App Store genutzt

• Profiles werden im Development-Portal erstellt und in lokale Key Chain eingetragen

14.12.2011 Seite 13

Page 14: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

(6) Developing/Testing/Building

14.12.2011 Seite 14

Entwicklungszyklus

APP

XCode

Ad Hoc

Distribution

App Store

Test/Debugging

Page 15: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

(7) App-Store-Submitting

• Prüfen, ob Binary alle Files enthält• Icon, Splash-Screens …

• Prüfen aller Meta-Daten durch Apple Ready for Upload

• Upload des Binaries mit Application Loader Ready for Review

• Review der App durch Apple (ca. eine Woche) Ready for Sale

14.12.2011 Seite 15

Page 16: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung - Übersicht

1. Chancen2. Voraussetzungen 3. Entwicklungsprozess4. Entwicklungsumgebungen

• Nativ• Alternativ

5. Zusammenfassung

14.12.2011 iOS-Entwicklung Seite 16

Wie?

Page 17: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Entwicklungsumgebungen

• Nativ:• Xcode (frei)

• Alternativ: (besonders für Spiele-Entwicklung)

• Corona $199 p.a.• Cocos 2D (frei)• iTorque 2D $149• MonoTouch $399• …

14.12.2011 Seite 17

Page 18: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Xcode - IDE

• Projektverwaltung inkl. Templates• Source-Editor (Syntax-Highlighting, Intellisense, Refactoring…)

• Sehr mächtiger Interface-Builder (GUI)• Debugging und Remote-Debugging• Zugriff auf alle iOS-APIs• Entwicklung basiert auf Objective-C

14.12.2011 Seite 18

Page 19: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Xcode - IDE

14.12.2011 Seite 19

Page 20: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Xcode – Objective-C

• Superset von C• Enthält OO-Erweiterungen• Verwendet Annotations• Frameworks:

• Foundation• UIKit: buttons, sliders, popups, texts, images…• Core Graphics, Core Animation, Core Audio, …• OpenGL

14.12.2011 Seite 20

Page 21: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Xcode - Entwicklungsprozess

14.12.2011 Seite 21

Xcode mit integriertem Simulator

Remote-Debugging

APPAd H

oc

Distribution

App Store

Test

Page 22: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Xcode - Vor-/Nachteile

• Vorteile• Kostenlos• Gute Dokumentation• Bietet Zugriff auf alle iDevice-Eigenschaften• Immer up-to-date (Apple-Developer-Program)

• Nachteile• Sehr komplex• Hoher Einarbeitungsaufwand

14.12.2011 Seite 22

Page 23: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Corona - Übersicht

14.12.2011

• Ist nach eigener Aussage „the world‘s #1 mobile development platform“Support/kontinuierliche Weiterentwicklung

• Benötigt Xcode für iOS-SDK, kapselt iOS SDK • Basiert auf Lua (Skriptsprache)• Nutzt OpenGL für Grafik• Enthält leistungsfähige Physics-Engine• Reduziert Entwicklungskomplexität

Seite 23

Page 24: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Corona - Entwicklung

14.12.2011 Seite 24

IDEA IDE mit Lua-Plugin & Corona SDK Corona SDK & Simulator

APP

Test App Store

Ad Hoc

Distribution

Xcode (SDK)

Page 25: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Corona – Beispiel (1)

14.12.2011 Seite 25

PositionZeichensatz

Größe

Page 26: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Corona – Beispiel (2)

14.12.2011 Seite 26

Text wird rotierend größer

Page 27: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Corona - Eigenschaften

• Objekte unterliegen der Physik (Gravity, Friction, Acceleration)

• Objekte können verbunden sein (verschiedene Arten von „Joints“)

• Objekte können kollidieren oder sich durchdringen

• Reaktion erfolgt ereignisgesteuert

14.12.2011 Seite 27

Page 28: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Corona - Vor-/Nachteile

• Vorteile• Sehr schnell Anfangserfolge• Reduziert Komplexität • Enthält Physics-/Animationsframework

• Nachteile• Lua nicht OO, nicht typ-, „ressourcensicher“• Kein Debugging auf Device• Nur für Spiele geeignet• Kein Durchgriff auf natives API

14.12.2011 Seite 28

Page 29: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Zusammenfassung

• iOS-Entwicklung ist „anders“, erfordert in jedem Fall aufwendige Einarbeitung

• iOS-Entwicklung ist komplex • Native iOS-Programmierung• Gesamtprozess nicht zu unterschätzen

• Alternative FWs für spezifische Einsatzzwecke

iOS-Programmierung bietet viel Potential und macht viel Spaß!

14.12.2011 Seite 29

Page 30: IOS Entwicklung Einführung Thomas Kruse, 14.12.2011.

iOS-Entwicklung

Reader• Dieser Vortrag

http://www.Kruse-IT.de/canvasPublications.htm#publication-03• iDevice-Sales charts

http://de.wikipedia.org/wiki/Apple_iPhonehttp://www.zdnet.de/news/41556643/gartner-ipad-verkaufszahlen-steigen-bis-2015-auf-149-millionen.htm

• Apple-Developer-Programhttp://developer.apple.com/programs/ios/

• Apple iTunes Connecthttp://itunesconnect.apple.com

• iOS-Hello worldhttp://paulpeelen.com/2011/03/17/xcode-4-ios-4-3-hello-world/

• Mobile Gaming-SDKshttp://www.burtonsmediagroup.com/blog/2010/06/game-engines-for-iphone-ipad-android-cocos2d-corona-torque-unity-3d /

• Corona SDKhttp://www.anscamobile.com/

14.12.2011 Seite 30