39
Schweres Erbe: Modernisierung einer geerbten iOS-App Claus Höfele <[email protected] >

MTC Spring 2013: Modernisierung einer geerbten iOS-App

Embed Size (px)

DESCRIPTION

Vortrag auf der MobileTech Conference Spring 2013 in München http://mobiletechcon.de/2013spring/

Citation preview

Page 1: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Claus Höfele <[email protected]>

Page 2: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

eBay Kleinanzeigen

Page 3: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Kleinanzeigen in Zahlen

6MAktive Anzeigen

4MApp Downloads

10MUnique Visitors/Monat

Page 4: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Anteil Mobile an Visits

2011 2012 2013

Page 5: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Commit Historie 2012

Übernahme Redesign

Page 6: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Vier Dinge, die wir verbessert haben

Technologien AutomatischeBuilds DesignProzess

Page 7: MTC Spring 2013: Modernisierung einer geerbten iOS-App

PROZESS

Page 8: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Urspünglicher Prozess

Page 9: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Kanban

Page 10: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Kanban - Details

ToDo Dev in Progress

Dev Done

QA in Progress

Page 11: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Entwicklungsprozess

PM

Dev

QA

SystemTest

Apple ReviewTickets

Page 12: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Home Office

Page 13: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Digitales Lagerfeuer

Page 14: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Warum Kanban?

Page 15: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Technologien

Page 16: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

iOS Versionen (Juli 2012)

Sonstige4.2-

4.3

iOS 5+

Page 17: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Customization & Appearance Proxies

UINavigationBar *navigationBarProxy = UINavigationBar.appearance;[navigationBarProxy setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];

HeaderBarButtonItemGreen

HeaderBarButtonItemGray

Page 18: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Storyboard - wird schnell komplex

Page 19: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Möglichkeiten zur UI Anpassungen

AppearanceProxies

Storyboard

Code

AllgemeingültigeAnpassungen

Programmablauf

Sonstige Anpassungen

Page 20: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Code Modernisierung

• ARC

• Blocks

• Core Data

• NSURLCache

Page 21: MTC Spring 2013: Modernisierung einer geerbten iOS-App

AUTOMATISCHE BUILDS

Page 22: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Vorher

Page 23: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Jenkins

Page 24: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Distribution Builds & Deployment

iTunes Enterprise

Page 25: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Automatisierte Tests

17 %

27 %56 %

Unit Tests Integrations Tests Automation Tests

95 %

3 %1 %

Laufzeit# Tests

Page 26: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

OCUnit

Page 27: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

UI Automation

Page 28: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Walldisplay

Page 29: MTC Spring 2013: Modernisierung einer geerbten iOS-App

DESIGN

Page 30: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Menü v1.x

Page 31: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Menü v2.0

Page 32: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Suchresultate

Page 33: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

E-Mail von Apple

Page 34: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Menü 2.1/2.2

Page 35: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

HTML Prototyp

Page 36: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Menü 3.x

Page 37: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Menü 3.x Demo

Page 38: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Schweres Erbe: Modernisierung einer geerbten iOS-App

Vier Dinge, die wir verbessert haben

Technologien AutomatischeBuilds DesignProzess

Page 39: MTC Spring 2013: Modernisierung einer geerbten iOS-App

Claus Höfele <[email protected]>

Senior Web Developer / Frontend EngineerSenior Android Developer

http://jobs.ebay-kleinanzeigen.de