Romano Roth & Oliver Brack Zühlke Engineering AG
IDC/Nielsen 2012
Entwicklungskosten senken Mehrere mobile Plattformen (nativ) Bestehende Mitarbeiter Produkteinführungszeit verkürzen Investitionen schützen
Entscheider Projektleiter Product Owner Entwicklungsleiter Softwarearchitekten Keine Erfahrung in Mobile-Entwicklung Wenig technische Details Rollenspiel
Oliver Brack Senior Software Engineer Zühlke seit 2007 Projektleitung Cliententwicklung Product Owner (PO) im Rollenspiel Romano Roth Lead Software Architect Zühlke seit 2002 Client Architekturen (WPF) Entwickler (Dev) im Rollenspiel
Kürzlich nach den X.DAYS: «Eine mobile App fürs Windows Phone muss her!»
.NET-Entwicklungsabteilung (C#) Kundenverwaltung (RIA: Silverlight) Cloud Service (Azure) mit Datenhaltung Service (Azure) Business Layer (.NET) Kundenverwaltung WCF Kundendaten
Demo
Wiederverwendung des Business Layers Daten aus Cloud UI mit Visual Studio 2010 Service (Azure).NET UI Customer BL User Interface Framework Business Layer
Nach der Verkaufssitzung: «Alle unsere Vertreter haben ein iPhone…»
KriteriumWebhybridnativ User Experience Performance Offlinefähigkeit Hardware Bezahlmodelle Multi-Plattform Abstrahierung Deployment
nativ Web Interaktions- elemente Deployment, Updates Offlinefähigkeit (Ticket kaufen) Hardware (Schütteln für Ticket) 80 %20 % Onlinezeit Stefano Malle (Microsoft), 2012
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#
Open-source-Implementation der.NET CLR Linux, MacOS X, Solaris, BSD, Wii, PS3 MonoDevelop als Entwicklungsumgebung Binary-kompatibel mit Microsoft.NET
MonoTouch SpracheC# (statt Objective-C) FrameworkMono IDEMonoDevelop, (Visual Studio 2010) UI DesignerXcode HerstellerXamarin HardwareIntel-Mac PreiseMonoTouch: USD Apple Dev: USD 99.-
Demo
Wiederverwendung des Business Layers Daten aus Cloud UI mit Xcode und MonoDevelop Service (Azure) MonoTouch Customer BL Mono UI User Interface Framework Business Layer
Ein halbes Jahr später: «Einige Vertreter haben jetzt ein Android- Phone…»
MonoTouchMono for Android SpracheC# (statt Objective-C)C# (statt Java) FrameworkMono IDEMonoDevelop, (Visual Studio 2010) MonoDevelop, Visual Studio 2010 UI DesignerXcodeDroidDraw, Eclipse HerstellerXamarin HardwareIntel-MacWindows PC/Intel-Mac PreiseMonoTouch: USD Apple Dev: USD 99.- Mono Android: USD Google Dev: USD 25.-
Demo
Wiederverwendung des Business Layers Daten aus Cloud UI mit Visual Studio 2010 Service (Azure) MonoAndroid Customer BL Mono UI User Interface Framework Business Layer
Service (Azure) BL Business Layer Kundendaten UI
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
PlattformspezifischMono Backend Objective-CJava.NET z.B..NET.NET
PlattformspezifischMono Objective-C - Xcode z.B..NET.NET (C#) - XAML - Xcode - AXML.NET - XAML Java - AXML
Entwicklungskosten senken Mehrere mobile Plattformen (nativ) Bestehende Mitarbeiter Produkteinführungszeit verkürzen Investitionen schützen
Aufwand (Schätzung) Entwicklungskosten senken? Programmlogik wiederverwenden, z. B. - Authentifizierung, Autorisierung - Persistierung (online/offline) - Hardwarezugriff (iOS/Android) - «Rechenkern» - Xing-App: WP7 iOS Codezeilen
Mehrere mobile Plattformen? Mit MonoTouch und Mono for Android weiterhin in.NET mit C# (wie WP7) entwickeln - Quellcode hybrid, App nativ - Synergien nutzen - Bekannte Konzepte und Tools
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
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
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
Mitte März 2012: «The new iPad...»