Romano Roth & Oliver Brack Zühlke Engineering AG.
-
Upload
winfried-rahming -
Category
Documents
-
view
125 -
download
5
Transcript of Romano Roth & Oliver Brack Zühlke Engineering AG.
iOS, Android, WP7...Alle nativ auf einen Streich!
Romano Roth & Oliver BrackZühlke Engineering AG
2010 2011 2012 2013 2014 2015 20160
200
400
600
800
1000
1200
1400
1600
PCs Mobilgeräte
Kein Erfolg ohne Mobilität!
IDC/Nielsen 2012
12/11 - 02/12
Android iOSandere
Fünf Fragen eines Entscheiders
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
Zielpublikum
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
Über uns
Rollenspiel – 1. Akt
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
Ausgangslage
Service (Azure)Business
Layer (.NET)
Kundenverwaltung
WCF Kundendaten
Der Business Layer
User Interface Mockup
Windows Phone 7 (1/2)
Demo
Wiederverwendung des Business Layers
Daten aus Cloud UI mit Visual Studio
2010
Windows Phone 7 (2/2)
Service (Azure)
.NET
UI
Customer BL
User Interface
Framework
Business Layer
Rollenspiel – 2. Akt
Nach der Verkaufssitzung:
«Alle unsere Vertreter haben ein iPhone…»
Web, hybrid oder nativ?
Kriterium Web hybrid nativ
User Experience
Performance
Offlinefähigkeit
Hardware
Bezahlmodelle
Multi-Plattform
Abstrahierung
Deployment
nativ
Beispiel nativ vs. Web 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
Von Microsoft zu Apple
Visual Studio 2010.NET mit C#
MonoDevelopMono mit C#
Open-source-Implementation der .NET CLR Linux, MacOS X, Solaris, BSD, Wii, PS3 MonoDevelop als Entwicklungsumgebung Binary-kompatibel mit Microsoft .NET
Was ist Mono?
MonoTouch
Sprache C# (statt Objective-C)
Framework Mono
IDE MonoDevelop,(Visual Studio 2010)
UI Designer Xcode
Hersteller Xamarin
Hardware Intel-Mac
Preise MonoTouch: USD 399.-Apple Dev: USD 99.-
Was ist MonoTouch?
MonoTouch (1/2)
Demo
Wiederverwendung des Business Layers
Daten aus Cloud UI mit Xcode und
MonoDevelop
MonoTouch (2/2)
Service (Azure)
MonoTouchCustomer
BL
Mono
UI
User Interface
Framework
Business Layer
Rollenspiel – 3. Akt
Ein halbes Jahr später:
«Einige Vertreter haben jetzt ein Android-Phone…»
Was ist Mono for Android?
MonoTouch Mono for Android
Sprache C# (statt Objective-C) C# (statt Java)
Framework Mono Mono
IDE MonoDevelop,(Visual Studio 2010)
MonoDevelop,Visual Studio 2010
UI Designer Xcode DroidDraw, Eclipse
Hersteller Xamarin Xamarin
Hardware Intel-Mac Windows PC/Intel-Mac
Preise MonoTouch: USD 399.-Apple Dev: USD 99.-
Mono Android: USD 399.-Google Dev: USD 25.-
Mono for Android (1/2)
Demo
Wiederverwendung des Business Layers
Daten aus Cloud UI mit Visual Studio
2010
Mono for Android (2/2)
Service (Azure)
MonoAndroidCustomer
BL
Mono
UI
User Interface
Framework
Business Layer
Die Architektur
Service (Azure)
BL BL BL BLBusiness Layer
Kundendaten
UIUI UI 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
Nachteile von Mono
Kompetenzen
Plattformspezifisch Mono
Backend
Backend
Objective-C Java
.NET
z.B. .NET.NET
.NET
Kompetenzen
Plattformspezifisch Mono
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
Anfängliche fünf Fragen
Aufwand (Schätzung)
Entwicklungskosten senken?
Antworten (1/5)
Programmlogik wiederverwenden, z. B.- Authentifizierung, Autorisierung- Persistierung (online/offline)- Hardwarezugriff (iOS/Android)- «Rechenkern»- Xing-App: WP7 iOS
39 %66 %
Codezeilen
Mehrere mobile Plattformen?
Antworten (2/5)
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?
Antworten (3/5)
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?
Antworten (4/5)
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?
Antworten (5/5)
Weiterhin auf .NET mit C# setzen- n Technologieäste pflegen, kostet Geld- Ausbildung ist teuer- Spezialisten sind begehrt (Abwerbung)- Wiederverwendung von bestehendem Code/Tools
Rollenspiel – Schlussakt
Mitte März 2012:
«The new iPad...»
Fragen