120 likes | 228 Views
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:
E N D
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: • Entwicklungskosten senken • Mehrere mobile Plattformen (nativ) • Bestehende Mitarbeiter • Produkteinführungszeit verkürzen • Investitionen schützen iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth
The Big Picture UI UI UI UI Business Layer BL BL BL BL Service (Azure) Kundendaten iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth
Die Clients iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth
Verwendete Frameworks, Erfahrungen damit (Portierbarkeit) • iOS: MonoTouch mit MonoDevelop • Android: Mono forAndroid 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). iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth
Layering, Aufbau .NET UI Service (Azure) User Interface Customer BL WCF Business Layer Framework iOS, 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. iOS, 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.- iOS, 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 forAndroid, TortoiseSVN (alles auf Windows) • WP7: VS2010 • Silverlight: VS2010 • Webservice: VS2010, Azure-Extensions für VS2010 (Deployment) • Keine automatisierte Build-Umgebung iOS, 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. iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth
Was würde man heute anders machen? • - iOS, 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 iOS, Android, WP7: Alle nativ auf einen Streich | Oliver Brack, Romano Roth