© zühlke 2012 romano roth & oliver brack ios, android, wp7... alle nativ auf einen streich!...
TRANSCRIPT
© Zühlke 2012
Romano Roth & Oliver Brack
iOS, Android, WP7...Alle nativ auf einen Streich!Romano Roth und Oliver Brack
7. Mai 2012Folie 1
© Zühlke 2012Romano Roth & Oliver Brack
Kein Erfolg ohne Mobilität!
20102011201220132014201520160
200
400
600
800
1000
1200
1400
1600
PCs MobilgeräteIDC/Nielsen 2012
12/11 - 02/12
Android iOSandere
7. Mai 2012 Folie 2
© Zühlke 2012Romano Roth & Oliver Brack
Fünf Fragen eines Entscheiders
• Entwicklungskosten senken
• Mehrere mobile Plattformen (nativ)
• Bestehende Mitarbeiter
• Produkteinführungszeit verkürzen
• Investitionen schützen
7. Mai 2012 Folie 3
© Zühlke 2012Romano Roth & Oliver Brack
Zielpublikum
Entscheider
• Projektleiter
• Product Owner
• Entwicklungsleiter
• Softwarearchitekten
Keine Erfahrung in Mobile-Entwicklung
Wenig technische Details
Rollenspiel
7. Mai 2012 Folie 4
© Zühlke 2012Romano Roth & Oliver Brack
Über uns
Romano Roth
• Lead Software Architect
• Zühlke seit 2002
• Client Architekturen (WPF)
• Entwickler (Dev) im [email protected]
7. Mai 2012 Folie 5
Oliver Brack
• Senior Software Engineer
• Zühlke seit 2007
• Projektleitung Cliententwicklung
• Product Owner (PO) im [email protected]
© Zühlke 2012Romano Roth & Oliver Brack
Rollenspiel – 1. Akt
Kürzlich nach den X.DAYS:
«Eine mobile App fürs Windows Phone muss her!»
7. Mai 2012 Folie 6
© Zühlke 2012Romano Roth & Oliver Brack
Ausgangslage
• .NET-Entwicklungsabteilung (C#)
• Kundenverwaltung (RIA: Silverlight)
• Cloud Service (Azure) mit Datenhaltung
Service (Azure)Business
Layer (.NET)
Kundenverwaltung
WCF Kundendaten
7. Mai 2012 Folie 7
© Zühlke 2012Romano Roth & Oliver Brack
Der Business Layer
7. Mai 2012 Folie 8
© Zühlke 2012Romano Roth & Oliver Brack 7. Mai 2012 Folie 9
User Interface Mockup
© Zühlke 2012Romano Roth & Oliver Brack
Windows Phone 7 (1/2)
7. Mai 2012 Folie 10
Demo
© Zühlke 2012Romano Roth & Oliver Brack
Windows Phone 7 (2/2)
• Wiederverwendung des Business Layers
• Daten aus Cloud
• UI mit Visual Studio 2010
Service (Azure)
.NET
UI
Customer BL
User Interface
Framework
Business Layer
7. Mai 2012 Folie 11
© Zühlke 2012Romano Roth & Oliver Brack
Rollenspiel – 2. Akt
Nach der Verkaufssitzung:
«Alle unsere Vertreter haben ein iPhone…»
7. Mai 2012 Folie 12
© Zühlke 2012Romano Roth & Oliver Brack
Web, hybrid oder nativ?
Kriterium Web hybrid nativ
User Experience
Performance
Offlinefähigkeit
Hardware
Bezahlmodelle
Multi-Plattform
Abstrahierung
Deployment 7. Mai 2012 Folie 13
© Zühlke 2012Romano Roth & Oliver Brack
Beispiel nativ vs. Web
nativ Web
• Interaktionselemente
• Deployment, Updates
• Offlinefähigkeit (Ticket kaufen)
• Hardware(Schütteln für Ticket)
80 % 20 % • OnlinezeitStefano Malle (Microsoft), 2012
7. Mai 2012 Folie 14
© Zühlke 2012Romano 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#
MonoDevelopMono mit C#
7. Mai 2012 Folie 15
© Zühlke 2012Romano 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
7. Mai 2012 Folie 16
© Zühlke 2012Romano Roth & Oliver Brack
Was ist MonoTouch?
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.-
7. Mai 2012 Folie 17
© Zühlke 2012Romano Roth & Oliver Brack
MonoTouch (1/2)
Demo
7. Mai 2012 Folie 18
© Zühlke 2012Romano Roth & Oliver Brack
MonoTouch (2/2)
• Wiederverwendung des Business Layers
• Daten aus Cloud
• UI mit Xcode und MonoDevelop
Service (Azure)
MonoTouchCustomer
BL
Mono
UI
User Interface
Framework
Business Layer
7. Mai 2012 Folie 19
© Zühlke 2012Romano Roth & Oliver Brack
Rollenspiel – 3. Akt
Ein halbes Jahr später:
«Einige Vertreter haben jetzt ein Android-Phone…»
7. Mai 2012 Folie 20
© Zühlke 2012Romano Roth & Oliver Brack
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.-7. Mai 2012 Folie 21
© Zühlke 2012Romano Roth & Oliver Brack
Mono for Android (1/2)
7. Mai 2012 Folie 22
Demo
© Zühlke 2012Romano Roth & Oliver Brack
Mono for Android (2/2)
• Wiederverwendung des Business Layers
• Daten aus Cloud
• UI mit Visual Studio 2010
Service (Azure)
MonoAndroidCustomer BL
Mono
UI
User Interface
Framework
Business Layer
7. Mai 2012 Folie 23
© Zühlke 2012Romano Roth & Oliver Brack
Die Architektur
Service (Azure)
BL BL BL BLBusiness Layer
Kundendaten
UIUI UI UI
7. Mai 2012 Folie 24
© Zühlke 2012Romano 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
7. Mai 2012 Folie 25
© Zühlke 2012Romano Roth & Oliver Brack
Kompetenzen
7. Mai 2012
Plattformspezifisch Mono
Backend
Backend
Objective-C Java
.NET
z.B. .NET.NET
.NET
Folie 26
© Zühlke 2012Romano Roth & Oliver Brack
Kompetenzen
7. Mai 2012 Folie 27
Plattformspezifisch Mono
Objective-C- Xcode
z.B. .NET
.NET (C#)- XAML- Xcode- AXML
.NET- XAML
Java- AXML
© Zühlke 2012Romano Roth & Oliver Brack
Anfängliche fünf Fragen
• Entwicklungskosten senken
• Mehrere mobile Plattformen (nativ)
• Bestehende Mitarbeiter
• Produkteinführungszeit verkürzen
• Investitionen schützen
7. Mai 2012 Folie 28
© Zühlke 2012Romano Roth & Oliver Brack
Entwicklungskosten senken?
Programmlogik wiederverwenden, z. B.- Authentifizierung, Autorisierung- Persistierung (online/offline)- Hardwarezugriff (iOS/Android)- «Rechenkern» - Xing-App: WP7 iOS
39 %66 %
Antworten (1/5)
7. Mai 2012 Folie 29
Aufwand (Schätzung)Codezeilen
© Zühlke 2012Romano Roth & Oliver Brack
Antworten (2/5)
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
7. Mai 2012 Folie 30
© Zühlke 2012Romano 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
7. Mai 2012 Folie 31
© Zühlke 2012Romano 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
7. Mai 2012 Folie 32
© Zühlke 2012Romano 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
7. Mai 2012 Folie 33
© Zühlke 2012Romano Roth & Oliver Brack
Rollenspiel – Schlussakt
Mitte März 2012:
«The new iPad...»
7. Mai 2012 Folie 34
© Zühlke 2012Romano Roth & Oliver Brack
Fragen
7. Mai 2012 Folie 35