35
iOS, Android, WP7... Alle nativ auf einen Streich! Romano Roth & Oliver Brack Zühlke Engineering AG

Romano Roth & Oliver Brack Zühlke Engineering AG

Embed Size (px)

Citation preview

Page 1: Romano Roth & Oliver Brack Zühlke Engineering AG

iOS, Android, WP7...Alle nativ auf einen Streich!

Romano Roth & Oliver BrackZühlke Engineering AG

Page 2: Romano Roth & Oliver Brack Zü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

Page 3: Romano Roth & Oliver Brack Zühlke Engineering AG

Fünf Fragen eines Entscheiders

Entwicklungskosten senken Mehrere mobile Plattformen (nativ) Bestehende Mitarbeiter Produkteinführungszeit verkürzen Investitionen schützen

Page 4: Romano Roth & Oliver Brack Zühlke Engineering AG

Entscheider• Projektleiter• Product Owner• Entwicklungsleiter• Softwarearchitekten

Keine Erfahrung in Mobile-Entwicklung Wenig technische Details Rollenspiel

Zielpublikum

Page 5: Romano Roth & Oliver Brack Zühlke Engineering AG

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

[email protected]

[email protected]

Page 6: Romano Roth & Oliver Brack Zühlke Engineering AG

Rollenspiel – 1. Akt

Kürzlich nach den X.DAYS:

«Eine mobile App fürs Windows Phone muss her!»

Page 7: Romano Roth & Oliver Brack Zühlke Engineering AG

.NET-Entwicklungsabteilung (C#)

Kundenverwaltung (RIA: Silverlight) Cloud Service (Azure) mit Datenhaltung

Ausgangslage

Service (Azure)Business

Layer (.NET)

Kundenverwaltung

WCF Kundendaten

Page 8: Romano Roth & Oliver Brack Zühlke Engineering AG

Der Business Layer

Page 9: Romano Roth & Oliver Brack Zühlke Engineering AG

User Interface Mockup

Page 10: Romano Roth & Oliver Brack Zühlke Engineering AG

Windows Phone 7 (1/2)

Demo

Page 11: Romano Roth & Oliver Brack Zühlke Engineering AG

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

Page 12: Romano Roth & Oliver Brack Zühlke Engineering AG

Rollenspiel – 2. Akt

Nach der Verkaufssitzung:

«Alle unsere Vertreter haben ein iPhone…»

Page 13: Romano Roth & Oliver Brack Zühlke Engineering AG

Web, hybrid oder nativ?

Kriterium Web hybrid nativ

User Experience

Performance

Offlinefähigkeit

Hardware

Bezahlmodelle

Multi-Plattform

Abstrahierung

Deployment

Page 14: Romano Roth & Oliver Brack Zühlke Engineering AG

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

Page 15: Romano Roth & Oliver Brack Zühlke Engineering AG

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#

Page 16: Romano Roth & Oliver Brack Zühlke Engineering AG

Open-source-Implementation der .NET CLR Linux, MacOS X, Solaris, BSD, Wii, PS3 MonoDevelop als Entwicklungsumgebung Binary-kompatibel mit Microsoft .NET

Was ist Mono?

Page 17: Romano Roth & Oliver Brack Zühlke Engineering AG

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?

Page 18: Romano Roth & Oliver Brack Zühlke Engineering AG

MonoTouch (1/2)

Demo

Page 19: Romano Roth & Oliver Brack Zühlke Engineering AG

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

Page 20: Romano Roth & Oliver Brack Zühlke Engineering AG

Rollenspiel – 3. Akt

Ein halbes Jahr später:

«Einige Vertreter haben jetzt ein Android-Phone…»

Page 21: Romano Roth & Oliver Brack Zühlke Engineering AG

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.-

Page 22: Romano Roth & Oliver Brack Zühlke Engineering AG

Mono for Android (1/2)

Demo

Page 23: Romano Roth & Oliver Brack Zühlke Engineering AG

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

Page 24: Romano Roth & Oliver Brack Zühlke Engineering AG

Die Architektur

Service (Azure)

BL BL BL BLBusiness Layer

Kundendaten

UIUI UI UI

Page 25: Romano Roth & Oliver Brack Zühlke Engineering AG

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

Page 26: Romano Roth & Oliver Brack Zühlke Engineering AG

Kompetenzen

Plattformspezifisch Mono

Backend

Backend

Objective-C Java

.NET

z.B. .NET.NET

.NET

Page 27: Romano Roth & Oliver Brack Zühlke Engineering AG

Kompetenzen

Plattformspezifisch Mono

Objective-C- Xcode

z.B. .NET

.NET (C#)- XAML- Xcode- AXML

.NET- XAML

Java- AXML

Page 28: Romano Roth & Oliver Brack Zühlke Engineering AG

Entwicklungskosten senken Mehrere mobile Plattformen (nativ) Bestehende Mitarbeiter Produkteinführungszeit verkürzen Investitionen schützen

Anfängliche fünf Fragen

Page 29: Romano Roth & Oliver Brack Zühlke Engineering AG

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

Page 30: Romano Roth & Oliver Brack Zühlke Engineering AG

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

Page 31: Romano Roth & Oliver Brack Zühlke Engineering AG

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

Page 32: Romano Roth & Oliver Brack Zühlke Engineering AG

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

Page 33: Romano Roth & Oliver Brack Zühlke Engineering AG

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

Page 34: Romano Roth & Oliver Brack Zühlke Engineering AG

Rollenspiel – Schlussakt

Mitte März 2012:

«The new iPad...»

Page 35: Romano Roth & Oliver Brack Zühlke Engineering AG

Fragen