SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Romano Roth & Oliver Brack
    Zühlke Engineering AG
1600
1400
1200
1000
 800
 600
 400
 200
  0

   2010 2011 2012 2013 2014 2015 2016     12/11 - 02/12

          PCs    Mobilgeräte            Android   iOS   andere

                                                        IDC/Nielsen 2012
   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
Romano Roth
                            Lead Software Architect
                            Zühlke seit 2002
                            Client Architekturen (WPF)
                            Entwickler (Dev) im Rollenspiel
romano.roth@zuehlke.com



                           Oliver Brack
                            Senior Software Engineer
                            Zühlke seit 2007
                            Projektleitung Cliententwicklung
                            Product Owner (PO) im Rollenspiel
oliver.brack@zuehlke.com
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

          Kundenverwaltung

                                          Service (Azure)
                      Business
                     Layer (.NET)   WCF   Kundendaten
Demo
   Wiederverwendung des
    Business Layers
   Daten aus Cloud
   UI mit Visual Studio 2010
                                      UI
                 User Interface
                                  Customer BL
                 Business Layer
                                     .NET
                 Framework




                                   Service
                                   (Azure)
Nach der Verkaufssitzung:
«Alle unsere Vertreter
haben ein iPhone…»
Kriterium        Web    hybrid   nativ
User Experience                
Performance                    
Offlinefähigkeit               
Hardware                       
Bezahlmodelle                  
Multi-Plattform                
Abstrahierung                  
Deployment                     
   nativ        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




    Visual Studio 2010                 MonoDevelop
       .NET mit C#                     Mono mit C#
   Open-source-Implementation der .NET CLR
   Linux, MacOS X, Solaris, BSD, Wii, PS3
   MonoDevelop als Entwicklungsumgebung
   Binary-kompatibel mit Microsoft .NET
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.-
Demo
   Wiederverwendung des
    Business Layers
   Daten aus Cloud
   UI mit Xcode und
                                    UI
    MonoDevelop
                                MonoTouch
               User Interface
                                Customer BL
               Business Layer
                                  Mono
               Framework




                                 Service
                                 (Azure)
Ein halbes Jahr später:
«Einige Vertreter haben
jetzt ein Android-
Phone…»
MonoTouch                Mono for Android
Sprache       C# (statt Objective-C)   C# (statt Java)
Framework     Mono                     Mono
IDE           MonoDevelop,             MonoDevelop,
              (Visual Studio 2010)     Visual Studio 2010
UI Designer   Xcode                    DroidDraw, Eclipse
Hersteller    Xamarin                  Xamarin
Hardware      Intel-Mac                Windows PC/Intel-Mac
Preise        MonoTouch: USD 399.- Mono Android: USD 399.-
              Apple Dev: USD 99.-  Google Dev: USD 25.-
Demo
   Wiederverwendung des
    Business Layers
   Daten aus Cloud
   UI mit Visual Studio 2010
                                       UI

                                  MonoAndroid
                 User Interface
                                  Customer BL
                 Business Layer
                                     Mono
                 Framework




                                    Service
                                    (Azure)
UI     UI              UI   UI

BL   Business Layer BL
      BL                    BL




     Service (Azure)


       Kundendaten
   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
Objective-C              Java                    .NET




       .NET

                                           Backend
                  Backend                            .NET
                        z.B. .NET


Plattformspezifisch                 Mono
Objective-C         Java
  - Xcode             - AXML




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

                z.B. .NET



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

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

                             66
                             39 %



                                        Codezeilen
                                        Aufwand (Schätzung)
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
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
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
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
Mitte März 2012:
«The new iPad...»
ESE Conference: iOS, Android, WP7...Alle nativ auf einen Streich! streich

Weitere ähnliche Inhalte

Ähnlich wie ESE Conference: iOS, Android, WP7... Alle nativ auf einen Streich! streich

Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Gregor Biswanger
 
iOS: Einstieg und Ausblick
iOS: Einstieg und AusblickiOS: Einstieg und Ausblick
iOS: Einstieg und AusblickStefan Scheidt
 
Spiele entwickeln mit dem Adobe AIR SDK
Spiele entwickeln mit dem Adobe AIR SDKSpiele entwickeln mit dem Adobe AIR SDK
Spiele entwickeln mit dem Adobe AIR SDKIndieOutpost
 
Erstellung von mobilen cross-platform-Apps
Erstellung von mobilen cross-platform-AppsErstellung von mobilen cross-platform-Apps
Erstellung von mobilen cross-platform-AppsRalf Lütke
 
Meister Training Professionelle Entwicklung: Alles rund um (mobile) App Entwi...
Meister Training Professionelle Entwicklung: Alles rund um (mobile) App Entwi...Meister Training Professionelle Entwicklung: Alles rund um (mobile) App Entwi...
Meister Training Professionelle Entwicklung: Alles rund um (mobile) App Entwi...Romano Roth
 
iOS Apps mit Webtechnologien erstellen
iOS Apps mit Webtechnologien erstelleniOS Apps mit Webtechnologien erstellen
iOS Apps mit Webtechnologien erstellenMichael Kühnel
 
Einführung in .NET
Einführung in .NETEinführung in .NET
Einführung in .NETAndreas Heil
 
Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009greenrobot
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndré Krämer
 
Architekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenArchitekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenRobin Sedlaczek
 
BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...
BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...
BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...Rainer Stropek
 
Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8chmoser79
 
Roadmap von Microsoft UI-Technologien und Windows 8
Roadmap von Microsoft UI-Technologien und Windows 8Roadmap von Microsoft UI-Technologien und Windows 8
Roadmap von Microsoft UI-Technologien und Windows 8chmoser79
 
.NET Core Architecture (UI)
.NET Core Architecture (UI).NET Core Architecture (UI)
.NET Core Architecture (UI)Robin Sedlaczek
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...Marc Müller
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core ApplicationsRobin Sedlaczek
 
Ivory Soa Suite
Ivory Soa SuiteIvory Soa Suite
Ivory Soa SuitePredrag61
 
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018André Krämer
 

Ähnlich wie ESE Conference: iOS, Android, WP7... Alle nativ auf einen Streich! streich (20)

Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
 
BUILD 2011 in Anaheim.
BUILD 2011 in Anaheim.BUILD 2011 in Anaheim.
BUILD 2011 in Anaheim.
 
Einführung in Flex Mobile
Einführung in Flex MobileEinführung in Flex Mobile
Einführung in Flex Mobile
 
iOS: Einstieg und Ausblick
iOS: Einstieg und AusblickiOS: Einstieg und Ausblick
iOS: Einstieg und Ausblick
 
Spiele entwickeln mit dem Adobe AIR SDK
Spiele entwickeln mit dem Adobe AIR SDKSpiele entwickeln mit dem Adobe AIR SDK
Spiele entwickeln mit dem Adobe AIR SDK
 
Erstellung von mobilen cross-platform-Apps
Erstellung von mobilen cross-platform-AppsErstellung von mobilen cross-platform-Apps
Erstellung von mobilen cross-platform-Apps
 
Meister Training Professionelle Entwicklung: Alles rund um (mobile) App Entwi...
Meister Training Professionelle Entwicklung: Alles rund um (mobile) App Entwi...Meister Training Professionelle Entwicklung: Alles rund um (mobile) App Entwi...
Meister Training Professionelle Entwicklung: Alles rund um (mobile) App Entwi...
 
iOS Apps mit Webtechnologien erstellen
iOS Apps mit Webtechnologien erstelleniOS Apps mit Webtechnologien erstellen
iOS Apps mit Webtechnologien erstellen
 
Einführung in .NET
Einführung in .NETEinführung in .NET
Einführung in .NET
 
Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickeln
 
Architekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenArchitekturen für .NET Core-Anwendungen
Architekturen für .NET Core-Anwendungen
 
BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...
BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...
BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...
 
Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8Roadmap von Microsoft UI Technologien und Windows 8
Roadmap von Microsoft UI Technologien und Windows 8
 
Roadmap von Microsoft UI-Technologien und Windows 8
Roadmap von Microsoft UI-Technologien und Windows 8Roadmap von Microsoft UI-Technologien und Windows 8
Roadmap von Microsoft UI-Technologien und Windows 8
 
.NET Core Architecture (UI)
.NET Core Architecture (UI).NET Core Architecture (UI)
.NET Core Architecture (UI)
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
 
Ivory Soa Suite
Ivory Soa SuiteIvory Soa Suite
Ivory Soa Suite
 
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
 

ESE Conference: iOS, Android, WP7... Alle nativ auf einen Streich! streich

  • 1. Romano Roth & Oliver Brack Zühlke Engineering AG
  • 2. 1600 1400 1200 1000 800 600 400 200 0 2010 2011 2012 2013 2014 2015 2016 12/11 - 02/12 PCs Mobilgeräte Android iOS andere IDC/Nielsen 2012
  • 3. Entwicklungskosten senken  Mehrere mobile Plattformen (nativ)  Bestehende Mitarbeiter  Produkteinführungszeit verkürzen  Investitionen schützen
  • 4. Entscheider • Projektleiter • Product Owner • Entwicklungsleiter • Softwarearchitekten  Keine Erfahrung in Mobile-Entwicklung  Wenig technische Details  Rollenspiel
  • 5. Romano Roth  Lead Software Architect  Zühlke seit 2002  Client Architekturen (WPF)  Entwickler (Dev) im Rollenspiel romano.roth@zuehlke.com Oliver Brack  Senior Software Engineer  Zühlke seit 2007  Projektleitung Cliententwicklung  Product Owner (PO) im Rollenspiel oliver.brack@zuehlke.com
  • 6. Kürzlich nach den X.DAYS: «Eine mobile App fürs Windows Phone muss her!»
  • 7. .NET-Entwicklungsabteilung (C#)  Kundenverwaltung (RIA: Silverlight)  Cloud Service (Azure) mit Datenhaltung Kundenverwaltung Service (Azure) Business Layer (.NET) WCF Kundendaten
  • 8.
  • 9.
  • 10. Demo
  • 11. Wiederverwendung des Business Layers  Daten aus Cloud  UI mit Visual Studio 2010 UI User Interface Customer BL Business Layer .NET Framework Service (Azure)
  • 12. Nach der Verkaufssitzung: «Alle unsere Vertreter haben ein iPhone…»
  • 13. Kriterium Web hybrid nativ User Experience    Performance    Offlinefähigkeit    Hardware    Bezahlmodelle    Multi-Plattform    Abstrahierung    Deployment   
  • 14. nativ  Web  Interaktions- elemente  Deployment, Updates  Offlinefähigkeit (Ticket kaufen)  Hardware (Schütteln für Ticket) 80 % 20 %  Onlinezeit Stefano Malle (Microsoft), 2012
  • 15. Gedanken des Entwicklers • Wiederverwendung von Code (Business Layer) • Neue Konzepte und Sprachen (Objective-C) lernen? • Zeitdruck Visual Studio 2010 MonoDevelop .NET mit C# Mono mit C#
  • 16. Open-source-Implementation der .NET CLR  Linux, MacOS X, Solaris, BSD, Wii, PS3  MonoDevelop als Entwicklungsumgebung  Binary-kompatibel mit Microsoft .NET
  • 17. 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.-
  • 18. Demo
  • 19. Wiederverwendung des Business Layers  Daten aus Cloud  UI mit Xcode und UI MonoDevelop MonoTouch User Interface Customer BL Business Layer Mono Framework Service (Azure)
  • 20. Ein halbes Jahr später: «Einige Vertreter haben jetzt ein Android- Phone…»
  • 21. MonoTouch Mono for Android Sprache C# (statt Objective-C) C# (statt Java) Framework Mono Mono IDE MonoDevelop, MonoDevelop, (Visual Studio 2010) Visual Studio 2010 UI Designer Xcode DroidDraw, Eclipse Hersteller Xamarin Xamarin Hardware Intel-Mac Windows PC/Intel-Mac Preise MonoTouch: USD 399.- Mono Android: USD 399.- Apple Dev: USD 99.- Google Dev: USD 25.-
  • 22. Demo
  • 23. Wiederverwendung des Business Layers  Daten aus Cloud  UI mit Visual Studio 2010 UI MonoAndroid User Interface Customer BL Business Layer Mono Framework Service (Azure)
  • 24. UI UI UI UI BL Business Layer BL BL BL Service (Azure) Kundendaten
  • 25. 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
  • 26. Objective-C Java .NET .NET Backend Backend .NET z.B. .NET Plattformspezifisch Mono
  • 27. Objective-C Java - Xcode - AXML .NET .NET (C#) - XAML - XAML - Xcode - AXML z.B. .NET Plattformspezifisch Mono
  • 28. Entwicklungskosten senken  Mehrere mobile Plattformen (nativ)  Bestehende Mitarbeiter  Produkteinführungszeit verkürzen  Investitionen schützen
  • 29. Entwicklungskosten senken? Programmlogik wiederverwenden, z. B. - Authentifizierung, Autorisierung - Persistierung (online/offline) - Hardwarezugriff (iOS/Android) - «Rechenkern» - Xing-App: WP7  iOS 66 39 % Codezeilen Aufwand (Schätzung)
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. Mitte März 2012: «The new iPad...»