SlideShare ist ein Scribd-Unternehmen logo
1 von 72
Downloaden Sie, um offline zu lesen
Möglichkeiten, Vorteile und Grenzen der
     Cross-Plattform-Entwicklung


               iks Thementag
„Mobile Applikationen – Es lebe die Vielfalt?!“



                  20.11.2012



                     Autor:
                 Jan Laußmann
Agenda

      Warum Cross-Plattform entwickeln?

      Hybrid Apps in der freien Wildbahn

      Aufwand für die Entwicklung von Hybrid Apps

      Die 3 größten Probleme bei der Hybrid App Entwicklung lösen

      Hybrid Apps und der Apple Store - gibt es Probleme?

      Grenzen der Hybrid App Entwicklung

      Entscheidung treffen: Native App oder Hybrid App?

iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 3 / 73
Agenda

      Warum Cross-Plattform entwickeln?

      Hybrid Apps in der freien Wildbahn

      Aufwand für die Entwicklung von Hybrid Apps

      Die 3 größten Probleme bei der Hybrid App Entwicklung lösen

      Hybrid Apps und der Apple Store - gibt es Probleme?

      Grenzen der Hybrid App Entwicklung

      Entscheidung treffen: Native App oder Hybrid App?

iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 4 / 73
So wird App Entwicklung oft dargestellt




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 5 / 73
Aber das ist falsch!




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 6 / 73
Die Entwicklung macht den Löwenanteil aus




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 7 / 73
Und bei mehreren Plattformen…




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 8 / 73
Probleme der nativen App Entwicklung

      Die App muss X mal komplett neu programmiert werden
       – X mal Entwicklungskosten
       – X mal Wartungskosten (Bugfixes)

      Multiple Ansprechpartner
       – Abstimmungsaufwand
       – Einarbeitung z.B. in Backendkommunikation

      Die Apps unterscheiden sich
       – Qualität
       – Benutzerführung
       – Features
       – …

iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 9 / 73
Das bietet Cross-Plattform-Entwicklung




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 10 / 73
Native Apps

      Cross-Plattform: nein
       – Java (Android)
       – Objective-C (iOS)

      Performance: schnell

      Sichtbarkeit im App Store: ja

      Platz auf dem Startbildschirm: ja




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 11 / 73
Native Apps

      Offline Funktionalität: ja

      Daten lokal speichern: ja

      Zugriff auf Gerätesensoren: ja
       – Kamera
       – Geolocation
       – …

      Kommunikation mit anderen Anwendungen: ja
       – Adressbuch
       – Kalender
       – …

iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 12 / 73
Web Apps

      Cross-Plattform: ja
       – HTML 5
       – CSS 3
       – JavaScript

      Performance: mittel

      Sichtbarkeit im App Store: nein

      Platz auf dem Startbildschirm: ja, aber …




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 13 / 73
Web Apps auf dem Startbildschirm




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 14 / 73
Web Apps auf dem Startbildschirm




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 15 / 73
Web Apps auf dem Startbildschirm




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 16 / 73
Web Apps auf dem Startbildschirm




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 17 / 73
Web Apps auf dem Startbildschirm




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 18 / 73
Web Apps auf dem Startbildschirm




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 19 / 73
Web Apps auf dem Startbildschirm




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 20 / 73
Web Apps

      Offline Funktionalität: ja (HTML5 Application Cache), aber ...

      Daten lokal speichern: ja via HTML5 Browser Datenbank
      (Indexed DB, Web Storage oder Web SQL)

      Zugriff auf Gerätesensoren: nein, bis auf Geolocation

      Kommunikation mit anderen Anwendungen: nein




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 21 / 73
Überblick Native App vs. Web App

                                              Native App                                    Web App
Cross-Plattform                               nein                                          ja
Performance                                   schnell                                       mittel
App Store                                     ja                                            nein
Startbildschirm                               ja                                            ja, aber
Offline                                       ja                                            jein
Datenbank                                     ja                                            ja
Sensoren                                      ja                                            jein
Adressbuch etc.                               ja                                            nein




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 22 / 73
Hybrid Apps

Hybrid Apps vereinen das Beste aus beiden Welten:

      Cross-Plattform

      Alle Smartphone Features nutzen




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 23 / 73
Hybrid Apps

Hybrid Apps bestehen aus:

      Web App
       – Cross-Plattform

      Nativen Container (Verpackung) für Web App
       – Alle Smartphone Features nutzen




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 24 / 73
Nativer Container

      Den nativen Container kann man sich
      als Spezial-Browser vorstellen

      Keine URL Leiste oder ähnliches

      Sondern nur der Teil des Browsers
      der die Web App anzeigt




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 25 / 73
Nativer Container: PhoneGap

      Adobe

      Open Source

      Gut dokumentiert

      Große Community

      Android, iOS, Black Berry, Windows Phone




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 26 / 73
PhoneGap API

      „Brücke“ (API) zwischen Web App und nativen Funktionen

      APIs für die viele Smartphone Features wird direkt mitgeliefert
       – Adressbuch
       – Barcode Scanner
       – Beschleunigungssensor
       – U.v.m.

      Kann mit eigenen APIs beliebig erweitert werden




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 27 / 73
Alternativen zu PhoneGap

      Appcelerator / Titanium
       – JavaScript
       – Native Apps




      Mono Touch / Mono for Android
       – C#
       – View nicht Cross-Plattform




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 28 / 73
Überblick: Native App vs. Hybrid App vs. Web App

                                  Native App                         Hybrid App                        Web App
Cross-Plattform                   nein                               ja                                ja
Performance                       schnell                            mittel                            mittel
App Store                         ja                                 ja                                nein
Startbildschirm                   ja                                 ja                                ja, aber
Offline                           ja                                 ja                                jein
Datenbank                         ja                                 ja                                ja
Sensoren                          ja                                 ja                                jein
Adressbuch etc. ja                                                   ja                                nein




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung         Seite 29 / 73
Agenda

      Warum Cross-Plattform entwickeln?

      Hybrid Apps in der freien Wildbahn

      Aufwand für die Entwicklung von Hybrid Apps

      Die 3 größten Probleme bei der Hybrid App Entwicklung lösen

      Hybrid Apps und der Apple Store - gibt es Probleme?

      Grenzen der Hybrid App Entwicklung

      Entscheidung treffen: Native App oder Hybrid App?

iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 30 / 73
Wikipedia (PhoneGap)




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 31 / 73
Wikipedia

      Mit PhoneGap entwickelt

      Android
       https://play.google.com/store/apps/details?id=org.wikipedia

      iOS
       https://itunes.apple.com/us/app/wikipedia-mobile/id324715238

      BlackBerry
       http://appworld.blackberry.com/webstore/content/105171/




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 32 / 73
BBC Olympics (PhoneGap)




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 33 / 73
BBC Olympics

      Mit PhoneGap entwickelt

      Android
       https://play.google.com/store/apps/details?id=uk.co.bbc.sos2012uk

      iOS
       https://itunes.apple.com/gb/app/bbc-olympics/id538520463

      BlackBerry
       http://appworld.blackberry.com/webstore/content/119787/




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 34 / 73
http://phonegap.com/app/




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 35 / 73
LinkedIn (eigene Entwicklung)




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 36 / 73
LinkedIn

      Keine PhoneGap App, aber Hybrid

      Android
       https://play.google.com/store/apps/details?id=com.linkedin.android

      iOS
       https://itunes.apple.com/de/app/linkedin/id288429040




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 37 / 73
Agenda

      Warum Cross-Plattform entwickeln?

      Hybrid Apps in der freien Wildbahn

      Aufwand für die Entwicklung von Hybrid Apps

      Die 3 größten Probleme bei der Hybrid App Entwicklung lösen

      Hybrid Apps und der Apple Store - gibt es Probleme?

      Grenzen der Hybrid App Entwicklung

      Entscheidung treffen: Native App oder Hybrid App?

iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 38 / 73
Wo bietet Cross-Plattform-Entwicklung Vorteile?

      Hier kann man sparen
       – App Entwicklung
       – Wartung / Bugfixes
       – Neue Features / Updates

         Immer dort wo programmiert wird

      Das ist von der Entwicklungsmethode unabhängig
       – Planung
       – Tests
       – Rollout

         Immer dort wo nicht programmiert wird

iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 39 / 73
Höherer Aufwand als Nativ bei:

      Interface Gestaltung
       – Android und iOS nehmen hier dem Entwickler viel Arbeit ab
       – Mobile CSS Frameworks stecken noch in den Kinderschuhen

         Deshalb ist es aufwändiger gute User Interfaces mit HTML/
          CSS zu gestalten als mit Android oder iOS



      Performance Tuning
       – Bei nativer Entwicklung vernachlässigbar
       – Bei Cross-Plattform-Entwicklung dringend notwendig!




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 40 / 73
Grobe Schätzung - Daumenregel

X = Aufwand 1 Native App
    – Läuft auf 1ner Plattform

X * 1.5 = Aufwand Hybrid App
     – Läuft auf allen Plattformen




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 41 / 73
Beispiel 1 für Daumenregel (Aufwand Entwicklung)

      Native App für Android und iOS
       – 1 * Aufwand X für Android
       – 1 * Aufwand X für iOS
       – Gesamtaufwand = 2X

      Dieselbe App als Hybrid App
       – 1 * 1.5-facher Aufwand
       – Läuft auf Android und iOS
       – Gesamtaufwand: 1.5X

      Sparpotenzial: 25%
       – Oder andersherum: nativ ist 33% teurer


iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 42 / 73
Beispiel 2 für Daumenregel (Aufwand Entwicklung)

      Native App für Android und iOS und Facebook App
       – 1 * Aufwand X für Android
       – 1 * Aufwand X für iOS
       – 1 * Aufwand X für Facebook App
       – Gesamtaufwand = 3X

      Dieselbe App als Hybrid App
       – 1 * 1.5-facher Aufwand
       – Läuft auf Android, iOS und als Facebook App
       – Gesamtaufwand: 1.5X

      Sparpotenzial: 50%
       – Oder andersherum: nativ ist 100% teurer

iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 43 / 73
Benötigte Entwickler-Skills

      Für die Web App
       – JavaScript
       – HTML
       – CSS

      Für den nativen Container
       – Cross-Plattform Frameworks (z.B. PhoneGap)
       – Java (Android)
       – Objective-C (iOS)




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 44 / 73
Code Metriken

      Beispiel Servicepoint App

      Cross-Plattform Code: ~95%

      Nativer Code: ~5%




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 45 / 73
Entwicklungs-Plattformen für Hybrid App

      iOS
       – Mac mit OS X und Xcode

      Windows Phone
       – PC mit Windows und Visual Studio

      Android
       – Entwicklung überall möglich

      Alternative: PhoneGap Cloud Build




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 46 / 73
Agenda

      Warum Cross-Plattform entwickeln?

      Hybrid Apps in der freien Wildbahn

      Aufwand für die Entwicklung von Hybrid Apps

      Die 3 größten Probleme bei der Hybrid App Entwicklung lösen

      Hybrid Apps und der Apple Store - gibt es Probleme?

      Grenzen der Hybrid App Entwicklung

      Entscheidung treffen: Native App oder Hybrid App?

iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 47 / 73
Problem 1: feststehender Header / Footer




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 48 / 73
Problem 1: feststehender Header / Footer

      CSS Support für feststehende Elemente ist auf alten Geräten
      nicht vorhanden

      Mit JavaScript permanente Elemente neu zu positionieren führt
      zu flackern der Elemente und trägen Anwendungen

      Diverse Bugs bei CSS / JavaScript Lösungen
        –    Fixierte Elemente scrollen doch mit
        –    Fixierte Elemente verschwinden
        –    Eingabefelder schieben sich über fixierte Elemente
        –    Tabben in Eingabefeldern funktioniert nicht richtig




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 49 / 73
Lösung: native Header / Footer

      Nativen Header / Footer mit Cross-Plattform App kombinieren
        – Nativer Header / Footer ist fixiert
        – Gesamte Cross-Plattform App scrolled dazwischen

      Zwar nur 95% Cross-Plattform

      Aber man bekommt dafür natives Look & Feel geschenkt
        – Sieht wie eine native App aus
        – Das Scrollen fühlt sich nativ an




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 50 / 73
Cross-Plattform App mit nativem Header




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 51 / 73
Native Look & Feel


      DHL Servicepoint
      Hybrid




      Google Books
      Nativ



      Google Drive
      Nativ


iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 52 / 73
Einschub vor Problem 2: Single Tap




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 53 / 73
Einschub vor Problem 2: Double Tap




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 54 / 73
Problem 2: Klickverzögerung

      Wenn in einem mobilen Browser getapped wird, wartet
      der Browser ca. 400ms ob ein zweiter Tap folgt (Double Tap)

      Wenn ein zweiter Tap folgt zoomed der Browser auf diese Stelle

      Wenn kein zweiter Tap folgt feuert der Browser ein Click Event

        Die App fühlt sich ungewohnt träge an




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 55 / 73
Lösung: Den ersten Tap direkt als Click interpretieren

      Auch Hybrid Apps sollen sich..
       – …nicht wie mobile Websites anfühlen (was sie technisch sind),
       – …sondern wie native Apps

      Also: Direkt der erste Tap muss als Klick interpretiert werden
       – Ohne Wartezeit

      Das gibt PhoneGap nicht direkt her

      Doch es gibt passende JavaScript Libraries
       – z.B. Google Fast-Button
         https://github.com/alexblack/google-fastbutton


iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 56 / 73
Problem 3: Animationen

      Bei der klassischen Webentwicklung werden Animationen
      mit JavaScript realisiert

      Smartphones sind aber leistungsschwächer als Desktop PCs

 Animationen sehen ruckelig aus




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 57 / 73
Problem 3: Animationen

      Animationen sind nicht nur für Spiele wichtig

      Animationen bei Business Anwendungen:
       – Seitenwechsel
       – Tooltips einblenden
       – …

      Auf Animationen kann man nicht einfach verzichten




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 58 / 73
Lösung: CSS3

      CSS3 Animationen sind hardwarebeschleunigt

      Smartphones / Computer
       – Hauptprozessor (CPU)
       – Grafikkarte (GPU)

      JavaScript Animationen: allgemeiner Hauptprozessor

      CSS3 Animationen: spezialisierte Grafikkarte

 Bringt 2-3 fache Beschleunigung



iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 59 / 73
Agenda

      Warum Cross-Plattform entwickeln?

      Hybrid Apps in der freien Wildbahn

      Aufwand für die Entwicklung von Hybrid Apps

      Die 3 größten Probleme bei der Hybrid App Entwicklung lösen

      Hybrid Apps und der Apple Store - gibt es Probleme?

      Grenzen der Hybrid App Entwicklung

      Entscheidung treffen: Native App oder Hybrid App?

iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 60 / 73
Hybrid Apps und der Apple Store

      PhoneGap:
      „Apple hat eine technische Überprüfung durchgeführt und PhoneGap
      Apps verstoßen nicht gegen die AGB des Apple Stores“

      Aber Hybrid Apps wurde schon die Freigabe im Apple Store
      verweigert!

      Wie passt das zusammen?




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 61 / 73
Gründe für Ablehnung

      Human Interface Guidelines: Reconsider Web-Based Designs:
       – Focus your app
       – Design for touch
       – Let people scroll

      Apple’s App Store Review Guidelines
       – Apps that are […] simply web sites bundled as Apps [...] may be
         rejected.
       – Apps that are simply web clippings, content aggregators, or a
         collection of links, may be rejected.




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 62 / 73
Hybrid Apps und der Apple Store - Fazit

      Hybrid Apps dürfen in den Apple Store

      Für Hybrid Apps gelten dieselben Bedingungen wie
      für native Apps

      Man darf es sich nicht zu einfach machen!




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 63 / 73
Agenda

      Warum Cross-Plattform entwickeln?

      Hybrid Apps in der freien Wildbahn

      Aufwand für die Entwicklung von Hybrid Apps

      Die 3 größten Probleme bei der Hybrid App Entwicklung lösen

      Hybrid Apps und der Apple Store - gibt es Probleme?

      Grenzen der Hybrid App Entwicklung

      Entscheidung treffen: Native App oder Hybrid App?

iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 64 / 73
Grenzen der Cross-Plattform-Entwicklung

      Das größte Problem ist die Performance

      Auf guten Smartphones sind Hybrid Apps kaum von nativen
      Apps zu unterscheiden

      Aber auf alten, leistungsschwachen Geräten sind Hybrid Apps
      relativ langsam

      In der Regel alle 2 Jahre ein neues Smartphone




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 65 / 73
Grenzen der Cross-Plattform-Entwicklung

Native Look & Feel

      Beispiel Checkboxen



        – Android



        – iOS




      Für Cross-Plattform muss ein Kompromiss gefunden werden

iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 66 / 73
Facebook – das Ende von HTML5?

      Erst native App

      Dann bis ca. August 2012 Hybrid App

      Seit dem wieder zurück auf native App

      Mark Zuckerberg:
      “I think the biggest mistake that we made, as a company, is betting too
      much on HTML5 as opposed to native”




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 67 / 73
Grenzen der Cross-Plattform-Entwicklung

      Facebooks Hauptproblem: eine riesige Datenmenge

      In Kombination mit:

        – 1. Debugging
          “The lack of tooling in mobile browsers makes it very difficult to
          dig down and find out what the real issues are.”

        – 2. Scrolling performance
          “This is one of our most important issues. It's typically a problem on
          the newsfeed and on Timeline which use infinite scrolling”

 Für sehr große Datenmengen sind native Apps besser geeignet

iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 68 / 73
Agenda

      Warum Cross-Plattform entwickeln?

      Hybrid Apps in der freien Wildbahn

      Aufwand für die Entwicklung von Hybrid Apps

      Die 3 größten Probleme bei der Hybrid App Entwicklung lösen

      Hybrid Apps und der Apple Store - gibt es Probleme?

      Grenzen der Hybrid App Entwicklung

      Entscheidung treffen: Native App oder Hybrid App?

iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 69 / 73
Entscheidung treffen: Native App oder Hybrid App?

      Hybrid Apps
       – Wirtschaftlich sinnvoll
       – Technisch machbar
        Wird deshalb in Zukunft im Focus liegen

      Ausnahmen
       – Nur eine Plattform
       – Aufwändigere Animationen (Spiele)
       – Kein Kompromiss bei native Look & Feel möglich
       – Sehr große Datenmengen (Facebook)




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 70 / 73
Weiterführende Literatur

      PhoneGap
      http://w ww.phonegap.com




iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung   Seite 71 / 73
Fragen?
www.iks-gmbh.com

Weitere ähnliche Inhalte

Was ist angesagt?

Start small, think big - Responsive Web Design
Start small, think big - Responsive Web DesignStart small, think big - Responsive Web Design
Start small, think big - Responsive Web Designintuio GmbH
 
Mobile App Entwicklung
Mobile App EntwicklungMobile App Entwicklung
Mobile App Entwicklungmediaman
 
Politische Kommunikation mit Apps
Politische Kommunikation mit AppsPolitische Kommunikation mit Apps
Politische Kommunikation mit Appscompuccino
 
Entstehung einer mobilen App für mittelständische Unternehmen
Entstehung einer mobilen App für mittelständische UnternehmenEntstehung einer mobilen App für mittelständische Unternehmen
Entstehung einer mobilen App für mittelständische UnternehmenBjörn Rohles
 
Mobile Facts 2013: Apps & Websites
Mobile Facts 2013: Apps & WebsitesMobile Facts 2013: Apps & Websites
Mobile Facts 2013: Apps & WebsitesAdrian Oggenfuss
 

Was ist angesagt? (6)

Start small, think big - Responsive Web Design
Start small, think big - Responsive Web DesignStart small, think big - Responsive Web Design
Start small, think big - Responsive Web Design
 
Mobile App Entwicklung
Mobile App EntwicklungMobile App Entwicklung
Mobile App Entwicklung
 
Politische Kommunikation mit Apps
Politische Kommunikation mit AppsPolitische Kommunikation mit Apps
Politische Kommunikation mit Apps
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Entstehung einer mobilen App für mittelständische Unternehmen
Entstehung einer mobilen App für mittelständische UnternehmenEntstehung einer mobilen App für mittelständische Unternehmen
Entstehung einer mobilen App für mittelständische Unternehmen
 
Mobile Facts 2013: Apps & Websites
Mobile Facts 2013: Apps & WebsitesMobile Facts 2013: Apps & Websites
Mobile Facts 2013: Apps & Websites
 

Ähnlich wie Mobile Applikationen: Cross-Plattform-Entwicklung

App oder Mobile Website Slides zum Webinar
App oder Mobile Website Slides zum WebinarApp oder Mobile Website Slides zum Webinar
App oder Mobile Website Slides zum WebinarEduvision Ausbildungen
 
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
 
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...Bokowsky + Laymann GmbH
 
Mobile Produktentwicklung – wie geht das? Konzeption, Design, Entwicklung, Ve...
Mobile Produktentwicklung – wie geht das? Konzeption, Design, Entwicklung, Ve...Mobile Produktentwicklung – wie geht das? Konzeption, Design, Entwicklung, Ve...
Mobile Produktentwicklung – wie geht das? Konzeption, Design, Entwicklung, Ve...Bokowsky + Laymann GmbH
 
Nativ hybride apps
Nativ hybride appsNativ hybride apps
Nativ hybride appsgradl
 
Executive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für EntscheiderExecutive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für EntscheiderBokowsky + Laymann GmbH
 
Automatisierte Generierung hybrider Apps für Mobile Devices (Kolloquium)
Automatisierte Generierung hybrider Apps für Mobile Devices (Kolloquium)Automatisierte Generierung hybrider Apps für Mobile Devices (Kolloquium)
Automatisierte Generierung hybrider Apps für Mobile Devices (Kolloquium)Jens Küsters
 
Going Mobile: Überblick über Mobile Web
Going Mobile: Überblick über Mobile WebGoing Mobile: Überblick über Mobile Web
Going Mobile: Überblick über Mobile Webch.ch
 
Wearables, Smartphones & Co. im Unternehmenseinsatz
Wearables, Smartphones & Co. im UnternehmenseinsatzWearables, Smartphones & Co. im Unternehmenseinsatz
Wearables, Smartphones & Co. im UnternehmenseinsatzChristian Sauter
 
Responsive Design oder App?
Responsive Design oder App?Responsive Design oder App?
Responsive Design oder App?INM AG
 
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...Gregor Biswanger
 
Mobile Apps mit Mehrwert (by CSS)
Mobile Apps mit Mehrwert (by CSS)Mobile Apps mit Mehrwert (by CSS)
Mobile Apps mit Mehrwert (by CSS)cssgmbh
 

Ähnlich wie Mobile Applikationen: Cross-Plattform-Entwicklung (20)

App oder Mobile Website Slides zum Webinar
App oder Mobile Website Slides zum WebinarApp oder Mobile Website Slides zum Webinar
App oder Mobile Website Slides zum Webinar
 
Erstellung von mobilen cross-platform-Apps
Erstellung von mobilen cross-platform-AppsErstellung von mobilen cross-platform-Apps
Erstellung von mobilen cross-platform-Apps
 
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
 
Mobile Produktentwicklung – wie geht das? Konzeption, Design, Entwicklung, Ve...
Mobile Produktentwicklung – wie geht das? Konzeption, Design, Entwicklung, Ve...Mobile Produktentwicklung – wie geht das? Konzeption, Design, Entwicklung, Ve...
Mobile Produktentwicklung – wie geht das? Konzeption, Design, Entwicklung, Ve...
 
Mobile Applikationen: Es gibt für alles eine App! - Auch für Sie?
Mobile Applikationen: Es gibt für alles eine App! - Auch für Sie?Mobile Applikationen: Es gibt für alles eine App! - Auch für Sie?
Mobile Applikationen: Es gibt für alles eine App! - Auch für Sie?
 
Probestunde_App_oder_mobile_Website
Probestunde_App_oder_mobile_WebsiteProbestunde_App_oder_mobile_Website
Probestunde_App_oder_mobile_Website
 
Nativ hybride apps
Nativ hybride appsNativ hybride apps
Nativ hybride apps
 
FAQs zur Technik
FAQs zur TechnikFAQs zur Technik
FAQs zur Technik
 
Executive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für EntscheiderExecutive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für Entscheider
 
Mobile Applikationen - Juni 2013 - Idee, Konzeption, Architektur
Mobile Applikationen - Juni 2013 - Idee, Konzeption, ArchitekturMobile Applikationen - Juni 2013 - Idee, Konzeption, Architektur
Mobile Applikationen - Juni 2013 - Idee, Konzeption, Architektur
 
Automatisierte Generierung hybrider Apps für Mobile Devices (Kolloquium)
Automatisierte Generierung hybrider Apps für Mobile Devices (Kolloquium)Automatisierte Generierung hybrider Apps für Mobile Devices (Kolloquium)
Automatisierte Generierung hybrider Apps für Mobile Devices (Kolloquium)
 
Going Mobile: Überblick über Mobile Web
Going Mobile: Überblick über Mobile WebGoing Mobile: Überblick über Mobile Web
Going Mobile: Überblick über Mobile Web
 
Mobile Produktentwicklung
Mobile ProduktentwicklungMobile Produktentwicklung
Mobile Produktentwicklung
 
Wearables, Smartphones & Co. im Unternehmenseinsatz
Wearables, Smartphones & Co. im UnternehmenseinsatzWearables, Smartphones & Co. im Unternehmenseinsatz
Wearables, Smartphones & Co. im Unternehmenseinsatz
 
WUD Berlin 2010
WUD Berlin 2010WUD Berlin 2010
WUD Berlin 2010
 
Responsive Design oder Apps?
Responsive Design oder Apps?Responsive Design oder Apps?
Responsive Design oder Apps?
 
Responsive Design oder App?
Responsive Design oder App?Responsive Design oder App?
Responsive Design oder App?
 
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
 
App Entwicklung Kosten
App Entwicklung KostenApp Entwicklung Kosten
App Entwicklung Kosten
 
Mobile Apps mit Mehrwert (by CSS)
Mobile Apps mit Mehrwert (by CSS)Mobile Apps mit Mehrwert (by CSS)
Mobile Apps mit Mehrwert (by CSS)
 

Mehr von IKS Gesellschaft für Informations- und Kommunikationssysteme mbH

Mehr von IKS Gesellschaft für Informations- und Kommunikationssysteme mbH (20)

Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingtEs wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
 
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
 
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdfThementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
 
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
 
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdfThementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
 
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdfThementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
 
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdfThementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
 
Thementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdfThementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdf
 
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdfThementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
 
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdfThementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
 
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 

Mobile Applikationen: Cross-Plattform-Entwicklung

  • 1. Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung iks Thementag „Mobile Applikationen – Es lebe die Vielfalt?!“ 20.11.2012 Autor: Jan Laußmann
  • 2. Agenda Warum Cross-Plattform entwickeln? Hybrid Apps in der freien Wildbahn Aufwand für die Entwicklung von Hybrid Apps Die 3 größten Probleme bei der Hybrid App Entwicklung lösen Hybrid Apps und der Apple Store - gibt es Probleme? Grenzen der Hybrid App Entwicklung Entscheidung treffen: Native App oder Hybrid App? iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 3 / 73
  • 3. Agenda Warum Cross-Plattform entwickeln? Hybrid Apps in der freien Wildbahn Aufwand für die Entwicklung von Hybrid Apps Die 3 größten Probleme bei der Hybrid App Entwicklung lösen Hybrid Apps und der Apple Store - gibt es Probleme? Grenzen der Hybrid App Entwicklung Entscheidung treffen: Native App oder Hybrid App? iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 4 / 73
  • 4. So wird App Entwicklung oft dargestellt iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 5 / 73
  • 5. Aber das ist falsch! iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 6 / 73
  • 6. Die Entwicklung macht den Löwenanteil aus iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 7 / 73
  • 7. Und bei mehreren Plattformen… iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 8 / 73
  • 8. Probleme der nativen App Entwicklung Die App muss X mal komplett neu programmiert werden – X mal Entwicklungskosten – X mal Wartungskosten (Bugfixes) Multiple Ansprechpartner – Abstimmungsaufwand – Einarbeitung z.B. in Backendkommunikation Die Apps unterscheiden sich – Qualität – Benutzerführung – Features – … iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 9 / 73
  • 9. Das bietet Cross-Plattform-Entwicklung iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 10 / 73
  • 10. Native Apps Cross-Plattform: nein – Java (Android) – Objective-C (iOS) Performance: schnell Sichtbarkeit im App Store: ja Platz auf dem Startbildschirm: ja iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 11 / 73
  • 11. Native Apps Offline Funktionalität: ja Daten lokal speichern: ja Zugriff auf Gerätesensoren: ja – Kamera – Geolocation – … Kommunikation mit anderen Anwendungen: ja – Adressbuch – Kalender – … iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 12 / 73
  • 12. Web Apps Cross-Plattform: ja – HTML 5 – CSS 3 – JavaScript Performance: mittel Sichtbarkeit im App Store: nein Platz auf dem Startbildschirm: ja, aber … iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 13 / 73
  • 13. Web Apps auf dem Startbildschirm iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 14 / 73
  • 14. Web Apps auf dem Startbildschirm iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 15 / 73
  • 15. Web Apps auf dem Startbildschirm iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 16 / 73
  • 16. Web Apps auf dem Startbildschirm iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 17 / 73
  • 17. Web Apps auf dem Startbildschirm iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 18 / 73
  • 18. Web Apps auf dem Startbildschirm iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 19 / 73
  • 19. Web Apps auf dem Startbildschirm iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 20 / 73
  • 20. Web Apps Offline Funktionalität: ja (HTML5 Application Cache), aber ... Daten lokal speichern: ja via HTML5 Browser Datenbank (Indexed DB, Web Storage oder Web SQL) Zugriff auf Gerätesensoren: nein, bis auf Geolocation Kommunikation mit anderen Anwendungen: nein iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 21 / 73
  • 21. Überblick Native App vs. Web App Native App Web App Cross-Plattform nein ja Performance schnell mittel App Store ja nein Startbildschirm ja ja, aber Offline ja jein Datenbank ja ja Sensoren ja jein Adressbuch etc. ja nein iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 22 / 73
  • 22. Hybrid Apps Hybrid Apps vereinen das Beste aus beiden Welten: Cross-Plattform Alle Smartphone Features nutzen iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 23 / 73
  • 23. Hybrid Apps Hybrid Apps bestehen aus: Web App – Cross-Plattform Nativen Container (Verpackung) für Web App – Alle Smartphone Features nutzen iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 24 / 73
  • 24. Nativer Container Den nativen Container kann man sich als Spezial-Browser vorstellen Keine URL Leiste oder ähnliches Sondern nur der Teil des Browsers der die Web App anzeigt iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 25 / 73
  • 25. Nativer Container: PhoneGap Adobe Open Source Gut dokumentiert Große Community Android, iOS, Black Berry, Windows Phone iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 26 / 73
  • 26. PhoneGap API „Brücke“ (API) zwischen Web App und nativen Funktionen APIs für die viele Smartphone Features wird direkt mitgeliefert – Adressbuch – Barcode Scanner – Beschleunigungssensor – U.v.m. Kann mit eigenen APIs beliebig erweitert werden iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 27 / 73
  • 27. Alternativen zu PhoneGap Appcelerator / Titanium – JavaScript – Native Apps Mono Touch / Mono for Android – C# – View nicht Cross-Plattform iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 28 / 73
  • 28. Überblick: Native App vs. Hybrid App vs. Web App Native App Hybrid App Web App Cross-Plattform nein ja ja Performance schnell mittel mittel App Store ja ja nein Startbildschirm ja ja ja, aber Offline ja ja jein Datenbank ja ja ja Sensoren ja ja jein Adressbuch etc. ja ja nein iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 29 / 73
  • 29. Agenda Warum Cross-Plattform entwickeln? Hybrid Apps in der freien Wildbahn Aufwand für die Entwicklung von Hybrid Apps Die 3 größten Probleme bei der Hybrid App Entwicklung lösen Hybrid Apps und der Apple Store - gibt es Probleme? Grenzen der Hybrid App Entwicklung Entscheidung treffen: Native App oder Hybrid App? iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 30 / 73
  • 30. Wikipedia (PhoneGap) iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 31 / 73
  • 31. Wikipedia Mit PhoneGap entwickelt Android https://play.google.com/store/apps/details?id=org.wikipedia iOS https://itunes.apple.com/us/app/wikipedia-mobile/id324715238 BlackBerry http://appworld.blackberry.com/webstore/content/105171/ iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 32 / 73
  • 32. BBC Olympics (PhoneGap) iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 33 / 73
  • 33. BBC Olympics Mit PhoneGap entwickelt Android https://play.google.com/store/apps/details?id=uk.co.bbc.sos2012uk iOS https://itunes.apple.com/gb/app/bbc-olympics/id538520463 BlackBerry http://appworld.blackberry.com/webstore/content/119787/ iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 34 / 73
  • 34. http://phonegap.com/app/ iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 35 / 73
  • 35. LinkedIn (eigene Entwicklung) iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 36 / 73
  • 36. LinkedIn Keine PhoneGap App, aber Hybrid Android https://play.google.com/store/apps/details?id=com.linkedin.android iOS https://itunes.apple.com/de/app/linkedin/id288429040 iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 37 / 73
  • 37. Agenda Warum Cross-Plattform entwickeln? Hybrid Apps in der freien Wildbahn Aufwand für die Entwicklung von Hybrid Apps Die 3 größten Probleme bei der Hybrid App Entwicklung lösen Hybrid Apps und der Apple Store - gibt es Probleme? Grenzen der Hybrid App Entwicklung Entscheidung treffen: Native App oder Hybrid App? iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 38 / 73
  • 38. Wo bietet Cross-Plattform-Entwicklung Vorteile? Hier kann man sparen – App Entwicklung – Wartung / Bugfixes – Neue Features / Updates  Immer dort wo programmiert wird Das ist von der Entwicklungsmethode unabhängig – Planung – Tests – Rollout  Immer dort wo nicht programmiert wird iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 39 / 73
  • 39. Höherer Aufwand als Nativ bei: Interface Gestaltung – Android und iOS nehmen hier dem Entwickler viel Arbeit ab – Mobile CSS Frameworks stecken noch in den Kinderschuhen  Deshalb ist es aufwändiger gute User Interfaces mit HTML/ CSS zu gestalten als mit Android oder iOS Performance Tuning – Bei nativer Entwicklung vernachlässigbar – Bei Cross-Plattform-Entwicklung dringend notwendig! iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 40 / 73
  • 40. Grobe Schätzung - Daumenregel X = Aufwand 1 Native App – Läuft auf 1ner Plattform X * 1.5 = Aufwand Hybrid App – Läuft auf allen Plattformen iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 41 / 73
  • 41. Beispiel 1 für Daumenregel (Aufwand Entwicklung) Native App für Android und iOS – 1 * Aufwand X für Android – 1 * Aufwand X für iOS – Gesamtaufwand = 2X Dieselbe App als Hybrid App – 1 * 1.5-facher Aufwand – Läuft auf Android und iOS – Gesamtaufwand: 1.5X Sparpotenzial: 25% – Oder andersherum: nativ ist 33% teurer iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 42 / 73
  • 42. Beispiel 2 für Daumenregel (Aufwand Entwicklung) Native App für Android und iOS und Facebook App – 1 * Aufwand X für Android – 1 * Aufwand X für iOS – 1 * Aufwand X für Facebook App – Gesamtaufwand = 3X Dieselbe App als Hybrid App – 1 * 1.5-facher Aufwand – Läuft auf Android, iOS und als Facebook App – Gesamtaufwand: 1.5X Sparpotenzial: 50% – Oder andersherum: nativ ist 100% teurer iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 43 / 73
  • 43. Benötigte Entwickler-Skills Für die Web App – JavaScript – HTML – CSS Für den nativen Container – Cross-Plattform Frameworks (z.B. PhoneGap) – Java (Android) – Objective-C (iOS) iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 44 / 73
  • 44. Code Metriken Beispiel Servicepoint App Cross-Plattform Code: ~95% Nativer Code: ~5% iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 45 / 73
  • 45. Entwicklungs-Plattformen für Hybrid App iOS – Mac mit OS X und Xcode Windows Phone – PC mit Windows und Visual Studio Android – Entwicklung überall möglich Alternative: PhoneGap Cloud Build iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 46 / 73
  • 46. Agenda Warum Cross-Plattform entwickeln? Hybrid Apps in der freien Wildbahn Aufwand für die Entwicklung von Hybrid Apps Die 3 größten Probleme bei der Hybrid App Entwicklung lösen Hybrid Apps und der Apple Store - gibt es Probleme? Grenzen der Hybrid App Entwicklung Entscheidung treffen: Native App oder Hybrid App? iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 47 / 73
  • 47. Problem 1: feststehender Header / Footer iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 48 / 73
  • 48. Problem 1: feststehender Header / Footer CSS Support für feststehende Elemente ist auf alten Geräten nicht vorhanden Mit JavaScript permanente Elemente neu zu positionieren führt zu flackern der Elemente und trägen Anwendungen Diverse Bugs bei CSS / JavaScript Lösungen – Fixierte Elemente scrollen doch mit – Fixierte Elemente verschwinden – Eingabefelder schieben sich über fixierte Elemente – Tabben in Eingabefeldern funktioniert nicht richtig iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 49 / 73
  • 49. Lösung: native Header / Footer Nativen Header / Footer mit Cross-Plattform App kombinieren – Nativer Header / Footer ist fixiert – Gesamte Cross-Plattform App scrolled dazwischen Zwar nur 95% Cross-Plattform Aber man bekommt dafür natives Look & Feel geschenkt – Sieht wie eine native App aus – Das Scrollen fühlt sich nativ an iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 50 / 73
  • 50. Cross-Plattform App mit nativem Header iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 51 / 73
  • 51. Native Look & Feel DHL Servicepoint Hybrid Google Books Nativ Google Drive Nativ iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 52 / 73
  • 52. Einschub vor Problem 2: Single Tap iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 53 / 73
  • 53. Einschub vor Problem 2: Double Tap iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 54 / 73
  • 54. Problem 2: Klickverzögerung Wenn in einem mobilen Browser getapped wird, wartet der Browser ca. 400ms ob ein zweiter Tap folgt (Double Tap) Wenn ein zweiter Tap folgt zoomed der Browser auf diese Stelle Wenn kein zweiter Tap folgt feuert der Browser ein Click Event  Die App fühlt sich ungewohnt träge an iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 55 / 73
  • 55. Lösung: Den ersten Tap direkt als Click interpretieren Auch Hybrid Apps sollen sich.. – …nicht wie mobile Websites anfühlen (was sie technisch sind), – …sondern wie native Apps Also: Direkt der erste Tap muss als Klick interpretiert werden – Ohne Wartezeit Das gibt PhoneGap nicht direkt her Doch es gibt passende JavaScript Libraries – z.B. Google Fast-Button https://github.com/alexblack/google-fastbutton iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 56 / 73
  • 56. Problem 3: Animationen Bei der klassischen Webentwicklung werden Animationen mit JavaScript realisiert Smartphones sind aber leistungsschwächer als Desktop PCs  Animationen sehen ruckelig aus iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 57 / 73
  • 57. Problem 3: Animationen Animationen sind nicht nur für Spiele wichtig Animationen bei Business Anwendungen: – Seitenwechsel – Tooltips einblenden – … Auf Animationen kann man nicht einfach verzichten iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 58 / 73
  • 58. Lösung: CSS3 CSS3 Animationen sind hardwarebeschleunigt Smartphones / Computer – Hauptprozessor (CPU) – Grafikkarte (GPU) JavaScript Animationen: allgemeiner Hauptprozessor CSS3 Animationen: spezialisierte Grafikkarte  Bringt 2-3 fache Beschleunigung iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 59 / 73
  • 59. Agenda Warum Cross-Plattform entwickeln? Hybrid Apps in der freien Wildbahn Aufwand für die Entwicklung von Hybrid Apps Die 3 größten Probleme bei der Hybrid App Entwicklung lösen Hybrid Apps und der Apple Store - gibt es Probleme? Grenzen der Hybrid App Entwicklung Entscheidung treffen: Native App oder Hybrid App? iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 60 / 73
  • 60. Hybrid Apps und der Apple Store PhoneGap: „Apple hat eine technische Überprüfung durchgeführt und PhoneGap Apps verstoßen nicht gegen die AGB des Apple Stores“ Aber Hybrid Apps wurde schon die Freigabe im Apple Store verweigert! Wie passt das zusammen? iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 61 / 73
  • 61. Gründe für Ablehnung Human Interface Guidelines: Reconsider Web-Based Designs: – Focus your app – Design for touch – Let people scroll Apple’s App Store Review Guidelines – Apps that are […] simply web sites bundled as Apps [...] may be rejected. – Apps that are simply web clippings, content aggregators, or a collection of links, may be rejected. iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 62 / 73
  • 62. Hybrid Apps und der Apple Store - Fazit Hybrid Apps dürfen in den Apple Store Für Hybrid Apps gelten dieselben Bedingungen wie für native Apps Man darf es sich nicht zu einfach machen! iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 63 / 73
  • 63. Agenda Warum Cross-Plattform entwickeln? Hybrid Apps in der freien Wildbahn Aufwand für die Entwicklung von Hybrid Apps Die 3 größten Probleme bei der Hybrid App Entwicklung lösen Hybrid Apps und der Apple Store - gibt es Probleme? Grenzen der Hybrid App Entwicklung Entscheidung treffen: Native App oder Hybrid App? iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 64 / 73
  • 64. Grenzen der Cross-Plattform-Entwicklung Das größte Problem ist die Performance Auf guten Smartphones sind Hybrid Apps kaum von nativen Apps zu unterscheiden Aber auf alten, leistungsschwachen Geräten sind Hybrid Apps relativ langsam In der Regel alle 2 Jahre ein neues Smartphone iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 65 / 73
  • 65. Grenzen der Cross-Plattform-Entwicklung Native Look & Feel Beispiel Checkboxen – Android – iOS Für Cross-Plattform muss ein Kompromiss gefunden werden iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 66 / 73
  • 66. Facebook – das Ende von HTML5? Erst native App Dann bis ca. August 2012 Hybrid App Seit dem wieder zurück auf native App Mark Zuckerberg: “I think the biggest mistake that we made, as a company, is betting too much on HTML5 as opposed to native” iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 67 / 73
  • 67. Grenzen der Cross-Plattform-Entwicklung Facebooks Hauptproblem: eine riesige Datenmenge In Kombination mit: – 1. Debugging “The lack of tooling in mobile browsers makes it very difficult to dig down and find out what the real issues are.” – 2. Scrolling performance “This is one of our most important issues. It's typically a problem on the newsfeed and on Timeline which use infinite scrolling”  Für sehr große Datenmengen sind native Apps besser geeignet iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 68 / 73
  • 68. Agenda Warum Cross-Plattform entwickeln? Hybrid Apps in der freien Wildbahn Aufwand für die Entwicklung von Hybrid Apps Die 3 größten Probleme bei der Hybrid App Entwicklung lösen Hybrid Apps und der Apple Store - gibt es Probleme? Grenzen der Hybrid App Entwicklung Entscheidung treffen: Native App oder Hybrid App? iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 69 / 73
  • 69. Entscheidung treffen: Native App oder Hybrid App? Hybrid Apps – Wirtschaftlich sinnvoll – Technisch machbar  Wird deshalb in Zukunft im Focus liegen Ausnahmen – Nur eine Plattform – Aufwändigere Animationen (Spiele) – Kein Kompromiss bei native Look & Feel möglich – Sehr große Datenmengen (Facebook) iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 70 / 73
  • 70. Weiterführende Literatur PhoneGap http://w ww.phonegap.com iks Thementag: Mobile Applikationen - Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Seite 71 / 73