350 likes | 498 Views
iOS , Android , WP7... Alle nativ auf einen Streich!. Romano Roth und Oliver Brack. Kein Erfolg ohne Mobilität!. IDC/Nielsen 2012. Fünf Fragen eines Entscheiders. Entwicklungskosten senken Mehrere mobile Plattformen (nativ) Bestehende Mitarbeiter Produkteinführungszeit verkürzen
E N D
iOS, Android, WP7...Alle nativ auf einen Streich! Romano Roth und Oliver Brack
Kein Erfolg ohne Mobilität! IDC/Nielsen 2012 Romano Roth & Oliver Brack
Fünf Fragen eines Entscheiders • Entwicklungskosten senken • Mehrere mobile Plattformen (nativ) • Bestehende Mitarbeiter • Produkteinführungszeit verkürzen • Investitionen schützen Romano Roth & Oliver Brack
Zielpublikum • Entscheider • Projektleiter • ProductOwner • Entwicklungsleiter • Softwarearchitekten • Softwareentwickler • Rollenspiel Romano Roth & Oliver Brack
Über uns Romano Roth • Lead Software Architect • Zühlke seit 2002 • Client Architekturen (WPF) • Entwickler (Dev) im Rollenspiel romano.roth@zuehlke.com Oliver Brack • Senior Software Engineer • Zühlke seit 2007 • Projektleitung Cliententwicklung • ProductOwner (PO) im Rollenspiel oliver.brack@zuehlke.com Romano Roth & Oliver Brack
Rollenspiel – 1. Akt Kürzlich nach den X.DAYS: «Eine mobile App fürs Windows Phone muss her!» Romano Roth & Oliver Brack
Ausgangslage • .NET-Entwicklungsabteilung (C#) • Kundenverwaltung (RIA: Silverlight) • Cloud Service (Azure) mit Datenhaltung Kundenverwaltung Service (Azure) Business Layer (.NET) WCF Kundendaten Romano Roth & Oliver Brack
Der Business Layer Romano Roth & Oliver Brack
User Interface Mockup Romano Roth & Oliver Brack
Windows Phone 7 (1/2) Demo Romano Roth & Oliver Brack
Windows Phone 7 (2/2) • Wiederverwendung des Business Layers • Daten aus Cloud • UI mit Visual Studio 2010 .NET UI User Interface Customer BL Business Layer Framework Service (Azure) Romano Roth & Oliver Brack
Rollenspiel – 2. Akt Nach der Verkaufssitzung: «Alle unsere Vertreter haben ein iPhone…» Romano Roth & Oliver Brack
Web, hybrid oder nativ? Romano Roth & Oliver Brack
Web Beispiel nativ vs. Web • nativ • Interaktionselemente • Deployment, Updates • Offlinefähigkeit (Ticket kaufen) • Hardware(Schütteln für Ticket) 80 % 20 % • Onlinezeit Stefano Malle (Microsoft), 2012 Romano Roth & Oliver Brack
Von Microsoft zu Apple • Gedanken des Entwicklers • Wiederverwendung von Code (Business Layer) • Neue Konzepte und Sprachen (Objective-C) lernen? • Zeitdruck Visual Studio 2010 .NET mit C# MonoDevelop Mono mit C# Romano Roth & Oliver Brack
Was ist Mono? • Open-source-Implementation der .NET CLR • Linux, MacOS X, Solaris, BSD, Wii, PS3 • MonoDevelop als Entwicklungsumgebung • Binary-kompatibel mit Microsoft .NET Romano Roth & Oliver Brack
Was ist MonoTouch? Romano Roth & Oliver Brack
MonoTouch (1/2) Demo Romano Roth & Oliver Brack
MonoTouch (2/2) • Wiederverwendung des Business Layers • Daten aus Cloud • UI mit Xcode und MonoDevelop UI MonoTouch User Interface Customer BL Business Layer Mono Framework Service (Azure) Romano Roth & Oliver Brack
Rollenspiel – 3. Akt Ein halbes Jahr später: «Einige Vertreter haben jetzt ein Android-Phone…» Romano Roth & Oliver Brack
Was ist Mono for Android? Romano Roth & Oliver Brack
Mono for Android (1/2) Demo Romano Roth & Oliver Brack
Mono for Android (2/2) • Wiederverwendung des Business Layers • Daten aus Cloud • UI mit Visual Studio 2010 UI MonoAndroid User Interface Customer BL Business Layer Mono Framework Service (Azure) Romano Roth & Oliver Brack
Die Architektur UI UI UI UI Business Layer BL BL BL BL Service (Azure) Kundendaten Romano Roth & Oliver Brack
Nachteile von Mono • UI weiterhin nativ pro Plattform: • XAML (WP7) • Xcode (iOS) • AXML (Android) • Deployment pro Plattform (App Stores) • iOS-Entwicklung trotzdem nur mit Intel-Mac • Neue API-Features erst mit Mono-Release • Abhängigkeit von Xamarin (Hersteller) • «Lediglich» Silverlight-4-Stack Romano Roth & Oliver Brack
Kompetenzen Java Objective-C .NET .NET Backend Backend .NET z.B. .NET Plattformspezifisch Mono Romano Roth & Oliver Brack
Kompetenzen Java - AXML Objective-C - Xcode .NET - XAML .NET (C#) - XAML - Xcode - AXML z.B. .NET Plattformspezifisch Mono Romano Roth & Oliver Brack
Anfängliche fünf Fragen • Entwicklungskosten senken • Mehrere mobile Plattformen (nativ) • Bestehende Mitarbeiter • Produkteinführungszeit verkürzen • Investitionen schützen Romano Roth & Oliver Brack
Antworten (1/5) Entwicklungskosten senken? Programmlogik wiederverwenden, z. B. - Authentifizierung, Autorisierung - Persistierung (online/offline) - Hardwarezugriff (iOS/Android) - «Rechenkern» - Xing-App: WP7 iOS Aufwand (Schätzung) Codezeilen Romano Roth & Oliver Brack
Antworten (2/5) Mehrere mobile Plattformen? Mit MonoTouch und Mono forAndroid weiterhin in .NET mit C# (wie WP7) entwickeln - Quellcode hybrid, App nativ - Synergien nutzen - Bekannte Konzepte und Tools Romano Roth & Oliver Brack
Antworten (3/5) Bestehende Mitarbeiter? Alle nativen Projekte für WP7, iPhone und Android. Praktisch ohne Umlernen! - Fachkräfte sind Mangelware! - Risikominimierung für Firma - Job-Enrichment für Entwickler Romano Roth & Oliver Brack
Antworten (4/5) Produkteinführungszeit verkürzen? Pro Plattform lediglich noch UI entwickeln - Parallelisierung der Entwicklung - Möglichkeit zum Outsourcing (nur UI) BL ist/enthält Kernkompetenz - UI-Designtools nutzen Romano Roth & Oliver Brack
Antworten (5/5) Investitionen schützen? Weiterhin auf .NET mit C# setzen - n Technologieäste pflegen, kostet Geld - Ausbildung ist teuer - Spezialisten sind begehrt (Abwerbung) - Wiederverwendung von bestehendem Code/Tools Romano Roth & Oliver Brack
Rollenspiel – Schlussakt Mitte März 2012: «The newiPad...» Romano Roth & Oliver Brack
Fragen Romano Roth & Oliver Brack