Romano Roth & Oliver Brack Zühlke Engineering AG.

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

Transcript of Romano Roth & Oliver Brack Zühlke Engineering AG.

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