iOS , Android , WP7: Alle nativ auf einen Streich

12
© Zühlke 2012 Oliver Brack Romano Roth iOS, Android, WP7: Alle nativ auf einen Streich Fragenkatalog zu umgesetzten Apps 27. September 2012 Folie 1

description

iOS , Android , WP7: Alle nativ auf einen Streich. Fragenkatalog zu umgesetzten Apps. Das Ziel. ESE 2012 Vortrag: iOS, Android, WP7Alle nativ auf einen Streich! Vortrag inkl. 3 Coding Demos Clients: Silverlight WP7 iOS Android Zielpublikum: Entscheider Fünf Fragen beantworten: - PowerPoint PPT Presentation

Transcript of iOS , Android , WP7: Alle nativ auf einen Streich

Page 1: iOS ,  Android , WP7: Alle nativ auf einen Streich

© Zühlke 2012

Oliver BrackRomano Roth

iOS, Android, WP7: Alle nativ auf einen StreichFragenkatalog zu umgesetzten Apps

27. September 2012Folie 1

Page 2: iOS ,  Android , WP7: Alle nativ auf einen Streich

© Zühlke 2012iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth

Das Ziel

• ESE 2012 Vortrag: iOS, Android, WP7Alle nativ auf einen Streich!

• Vortrag inkl. 3 Coding Demos

• Clients:– Silverlight– WP7– iOS– Android

• Zielpublikum: Entscheider

• Fünf Fragen beantworten:– Entwicklungskosten senken– Mehrere mobile Plattformen (nativ)– Bestehende Mitarbeiter– Produkteinführungszeit verkürzen– Investitionen schützen

27. September 2012 Folie 2

Page 3: iOS ,  Android , WP7: Alle nativ auf einen Streich

© Zühlke 2012iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth

The Big Picture

Service (Azure)

BL BL BL BLBusiness Layer

Kundendaten

UIUI UI UI

27. September 2012 Folie 3

Page 4: iOS ,  Android , WP7: Alle nativ auf einen Streich

© Zühlke 2012iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth

Die Clients

27. September 2012 Folie 4

Page 5: iOS ,  Android , WP7: Alle nativ auf einen Streich

© Zühlke 2012iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth

Verwendete Frameworks, Erfahrungen damit (Portierbarkeit)

• iOS: MonoTouch mit MonoDevelop

• Android: Mono for Android mit VS2010

• WP7: .NET mit VS2010

• Silverlight: VS2010

• Binär kompatibel mit Silverlight-4-Stack (Assembly = DLL). API ist nicht auf allen Plattformen identisch (kein 1:1 Reuse), jedoch sehr nah verwandt (z.B. Tabellenhandling in iOS und Android).

27. September 2012 Folie 5

Page 6: iOS ,  Android , WP7: Alle nativ auf einen Streich

© Zühlke 2012iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth

Layering, Aufbau

Service (Azure)

.NET

UI

Customer BL

User Interface

Framework

Business Layer WCF

27. September 2012 Folie 6

Page 7: iOS ,  Android , WP7: Alle nativ auf einen Streich

© Zühlke 2012iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth

Neuentwicklung vs. Portierung

• App wurde für Präsentationen neu entwickelt

• Aspekt der Portierung wurde mit clientseitigem Business Layer als Silverlight-4-Assembly abgedeckt– Einbindung direkt als DLL problemlos. Wobei gesagt werden muss, dass

App nur sehr grundlegende Funktionen abdeckt. Z.B. keine Hardwarezugriffe auf Kompass, GPS oder Kamera.

27. September 2012 Folie 7

Page 8: iOS ,  Android , WP7: Alle nativ auf einen Streich

© Zühlke 2012iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth

Zertifizierungsschwierigkeiten? (App-Store)

• App wurde in keinem Store publiziert.

• Eigene Erfahrungen mit Apple App Store jedoch problemlos, wenn die App einmal hochgeladen wurde.– Prozedur, bis App hochgeladen werden kann, ist ziemlich mühsam:

Zertifikate, Signierung, Konto- und Personaldaten, Vorbereitung im Web Portal, App Loader, etc.

– Review-Prozess dauert anschliessend 1-2 Wochen

• Lizenz-Kosten– iOS

– MonoTouch: USD 399.-– Apple Dev: USD 99.-

– Android– Mono Android: USD 399.-– Google Dev: USD 25.-

27. September 2012 Folie 8

Page 9: iOS ,  Android , WP7: Alle nativ auf einen Streich

© Zühlke 2012iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth

Verwendete Tools (IDE, Build-Chain, Testing, CI?)

• iOS: MonoDevelop, svnX und integrierter SVN-Client (MonoDevelop)

• Android: VS2010, Mono for Android, TortoiseSVN (alles auf Windows)

• WP7: VS2010

• Silverlight: VS2010

• Webservice: VS2010, Azure-Extensions für VS2010 (Deployment)

• Keine automatisierte Build-Umgebung

27. September 2012 Folie 9

Page 10: iOS ,  Android , WP7: Alle nativ auf einen Streich

© Zühlke 2012iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth

Austausch über die Plattformgrenzen (VCS etc.) Was ist, wenn Business-Layer weiterentwickelt wird?• SVN-Repository (Google Code) kann plattformübergreifend

genutzt werden– Zugriff aus Windows für WP7, Android und Dokumente– Zugriff aus OS X für MonoTouch– http://code.google.com/p/ese2012/

• Business Layer (clientseitig) als kompiliertes Assembly in SVN eingecheckt, kann von allen Clients verlinkt werden– Versionierte Releases des Business Layers klare Kompetenzgrenzen,

indem Business Layer von eigenem Team entwickelt wird und nicht in die Hoheit der Cliententwickler fällt.

– Inwieweit die Lösung mit dem referenzierten Assembly genutzt werden kann, muss sich noch in einer komplexeren Applikation zeigen.

27. September 2012 Folie 10

Page 11: iOS ,  Android , WP7: Alle nativ auf einen Streich

© Zühlke 2012iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth

Was würde man heute anders machen?

• -

27. September 2012 Folie 11

Page 12: iOS ,  Android , WP7: Alle nativ auf einen Streich

© Zühlke 2012iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth

Grössenordnung der App (PTs, Screens, Hardware-APIs)

• Demo-App für einstündige Präsentation Funktionsumfang sehr bescheiden

• Webservice mit 1 implementierter Methode und einigen «Fakes» im Interface (WCF, Azure, Cloud)

• Clientseitiger Business-Layer (plattformunabhängig, Silverlight 4)

• 4 Clients mit einfachem GUI (Tabellenansicht mit Suchfunktion)– Silverlight Webclient– iPhone– Android Phone– WP7

• Kein Hardwarezugriff

27. September 2012 Folie 12