iOS , Android , WP7: Alle nativ auf einen Streich
-
Upload
tanek-vega -
Category
Documents
-
view
30 -
download
2
description
Transcript of 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
© 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
© 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
© Zühlke 2012iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth
Die Clients
27. September 2012 Folie 4
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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