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

Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Embed Size (px)

Citation preview

Page 1: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

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

Romano Roth & Oliver BrackZühlke

Page 2: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten

Der Vortrag setzt keine technische Kenntnisse von Mobile-Entwicklung voraus und geht daher auch nicht auf technische Details ein.

Zielpublikum

Page 3: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

1. Wie kann ich meine Entwicklungskosten senken?

2. Wie kann ich kostengünstig für mehrere mobile Plattformen entwickeln?

3. Was kann ich mit meinen bestehenden Mitarbeitern umsetzen?

4. Wie kann ich meine Produkteinführungszeit verkürzen?

5. Wie kann ich bestehende Investitionen schützen?

Fünf Fragen eines Entscheiders

Page 4: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

1. Windows Phone 72. iPhone (MonoTouch)3. Android (Mono for Android)4. Empfehlungen

Angereichert mit Live-Coding und Erklärungen

Aus dem Leben eines Entscheiders

Page 5: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

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

Page 6: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Rollenspiel – 1. Akt

«Der Product Owner hat eine Idee…»

Page 7: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Kundenverwaltung (Silverlight) Business Layer (.NET) Cloud Service (Azure) mit Datenhaltung Windows Communication Foundation (WCF)

Bestehende Lösung

Service (Azure)Business

Layer (.NET)

Kundenverwaltung

WCF Kundendaten

Page 8: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Der Business Layer

http://ese2012customerservice.cloudapp.net/CustomerService.svc

Page 9: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

User Interface Mockup

Page 10: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Windows Phone 7 (1/2)

Service (Azure)

Dem

o

Page 11: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Wiederverwendung des Business Layers

Daten aus Cloud UI mit Visual Studio

2010

Windows Phone 7 (2/2)

Service (Azure)

.NET

UI

Customer BL

Page 12: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Rollenspiel – 2. Akt

«Alle unsere Vertreter haben ein iPhone…»

Page 13: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Web vs. nativ

Vorteile nativ

User Experience: Nutzung plattformspezifischer Controls

Performance Offlinefähigkeit Nutzung aller

Hardware-Features Akzeptanz (und

Sicherheit) durch App-Store

Bezahlmodelle (In-App Purchase)

User Experience (Beispiel)

Page 14: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

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 15: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Open-source-Implementation der Common Language Runtime von .NET (CLR)

Linux, MacOS X, Solaris, BSD, Wii, PS3 MonoDevelop als Entwicklungsumgebung Binary-kompatibel mit Microsoft .NET Xamarin (Miguel de Icaza)

Was ist Mono?

Page 16: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

iOS-Applikationen mit .NET in C#(statt mit Objective-C) entwickeln

Plattform basiert auf◦ Framework: Mono◦ IDE: MonoDevelop (und Visual Studio 2010)

Kosten◦ MonoTouch Professional License (USD 399.-)◦ Apple Developer Program Membership (USD 99.-)◦ Intel-Mac (z. B. Mac Mini, ab USD 599.-)

Was ist MonoTouch?

Page 17: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

MonoTouch (1/2)

Service (Azure)

Dem

o

Page 18: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Wiederverwendung des Business Layers

Daten aus Cloud UI mit XCode und

MonoDevelop

MonoTouch (2/2)

Service (Azure)

MonoTouchCustomer

BL

Mono

UI

Page 19: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Rollenspiel – 3. Akt

Ein halbes Jahr später:

«Einige Vertreter haben jetzt ein Android-Phone…»

Page 20: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Android-Applikationen mit .NET in C#(statt mit Java) entwickeln

Plattform basiert auf◦ Framework: Mono◦ IDE: MonoDevelop und Visual Studio 2010

Kosten◦ Mono for Android Professional License (USD 399.-)◦ Google Developer Account (USD 25.-)

Was ist Mono for Android?

Page 21: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Service (Azure)

Dem

o

Mono for Android (1/2)

Page 22: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Wiederverwendung des Business Layers

Daten aus Cloud UI mit Visual Studio

2010

Mono for Android (2/2)

Service (Azure)

MonoAndroidCustomer

BL

Mono

UI

Page 23: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Die Architektur

Service (Azure)

BL BL BL BLBusiness Layer

Kundendaten

UIUI UI UI

Page 24: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Quellcode (wird mit Produkt kompiliert)◦ Verantwortlichkeiten? Wer «pflegt» diesen Teil?◦ Struktur des Repositorys

Assembly-Referenz◦ Business-Logik als eigenständiges Produkt◦ Eigenes Team◦ Release-Zyklen◦ Nicht in allen Fällen möglich

Einbindung Business-Logik

Empf

ehlu

n

g

Page 25: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Teamstrukturen

Plattformspezifisch Mono

Backend

Backend

Objective-C Java

.NET

z. B. .NET.NET

.NET

Page 26: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

1. Entwicklungskosten senken2. Mehrere mobile Plattformen3. Bestehende Mitarbeiter4. Produkteinführungszeit verkürzen5. Investitionen schützen

Anfängliche fünf Fragen

Page 27: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Entwicklungskosten senken?

Antworten (1/5)

Programmlogik wiederverwenden, z. B.- Authentifizierung, Autorisierung- Persistierung (online/offline)- Hardwarezugriff (iOS/Android)- «Rechenkern»- Xing-App: WP7 iOS

39 %

Page 28: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

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 29: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

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 30: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

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 31: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

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 32: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Rollenspiel – 4. Akt

Nochmals sechs Monate später:

«Alle Vertreter reissen sich um das neue iPad…»

Page 33: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

- Detailansicht von Kundendaten- Hinzufuegen, Editieren, Loeschen von Kunden- Verschluesselte Meldungen verschicken/lesen- Offline-Faehigkeit- Grafische Darstellung der Margen- Verbesserte Abfragemoeglichkeiten- Support fuer WP7, Android Phone und Tablet, iPhone, iPad- Spezielles Login fuer Kunden (Mitgliederbereich)

Neue Anforderungen

Page 34: Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von

Fragen