Mobile App-Entwicklung: Summary der Möglichkeiten

7. Oktober 2013

Innerhalb der letzten Beiträge habe ich die Entwicklung mobiler Apps unter die Lupe genommen. Von den Herausforderungen für Unternehmen ging es weiter mit einem Überblick hin zu 3 Möglichkeiten der App-Entwicklung: Nativ, Web, Hybrid.

Der folgende Beitrag fasst die Möglichkeiten der App-Entwicklung noch einmal strukturiert zusammen, um einen besseren Überblick zu geben.

 

Einordnung und Einsatzszenarien

In der nachfolgenden Tabelle werden die 3 zuvor vorgestellten Möglichkeiten der App-Entwicklung -Nativ, Web, Hybrid- zusammengefasst dargestellt.

  Native Apps Web Apps Hybrid-Apps
Beschreibung Maßgeschneiderte Apps für eine Plattform, die mit den SDKs, Sprachen und Tools für diese Plattform umgesetzt werden Mit Webtechnologien umgesetzte statische Webseiten, die das Look&Feel einer nativen App nachbilden und per Browser aufrufbar sind Statische Webseiten, die in einen nativen Container verpackt werden und wie eine normale App installiert werden können
Vorteile
  • Beste Qualität bei User Experience und Performance
  • Verteilung und Monetarisierung über App Stores möglich
  • Beste Geräte-Integration
  • Ausgereifte Entwickler-Tools + Dokumentation
  • Lauffähigkeit auf mehreren Plattformen
  • Kein Festlegen auf eine Plattform nötig
  • Viel Wissen und Experten für Web-Technologien vorhanden
  • Einfaches Deployment und schnelle Updates
  • Codebasis der Web App für jede Plattform wiederverwendbar
  • Zugriff auf native Features möglich
  • Verteilung und Monetarisierung über App Stores möglich
  • Wissen und Experten für Web-Technologien vorhanden
Nachteile
  • Cross-Plattform kostspielig (neue App für jede Plattform)
  • Viel Know-how für Cross-Plattform-Entwicklung notwendig
  • Geringe Flexibilität zur Adaption neuer Plattformen
  • Kompromiss bzgl. UX und Performance
  • Keine Abbildung unterschiedlicher UI-Philosophien etc.
  • Kein Zugriff auf native Geräte-Funktionen
  • Keine Verteilung über App Stores
  • Keine Offline-Fähigkeit
  • Kompromiss bzgl. UX und Performance
  • Keine Abbildung unterschiedlicher UI-Philosophien etc.
  • Tool-Unterstützung und Dokumentation durchwachsen
Wann?
  • Wenn umfangreicher nativer Gerätezugriff notwendig ist
  • Wenn bestes Look&Feel und Performance gefordert sind
  • Wenn nur eine Plattform adressiert wird
  • Wenn die App in einen App Store eingestellt werden soll
  • Wenn die App offlinefähig sein soll
  • Wenn direkte Zugreifbarkeit von überall gewünscht ist
  • Wenn Inhalte der App in Suchmaschinen auffindbar sein sollen
  • Wenn mehrere Plattformen zu adressieren sind
  • Wenn Offenheit für neue Plattformen gefordert ist
  • Wenn mehrere Plattformen zu adressieren sind
  • Wenn Offenheit für neue Plattformen gefordert ist
  • Wenn Gerätezugriff notwendig ist
  • Wenn die App in einen App Store eingestellt werden soll
  • Wenn die App offlinefähig sein soll
Einsatz-szenarien
  • Consumer-Szenarien
  • Aufwendig gestaltete Consumer-Apps
  • Entertainment-Apps
  • Spiele
  • Grafik-/Performance-lastige Apps
  • Business-Szenarien
  • BYOD-Szenarien mit mehreren Plattformen
  • Firmeninterne Business-Apps
  • Produktivitäts-Apps
  • Tools und Utilities
  • Business-Szenarien
  • BYOD-Szenarien mit mehreren Plattformen
  • Firmeninterne Business-Apps
  • Produktivitäts-Apps
  • Tools und Utilities

 

Betrachtung von nicht-funktionalen Anforderungen

Die nachfolgende Tabelle ordnet die jeweiligen App-Entwicklungsmöglichkeiten bzgl. verschiedener nicht-funktionaler Anforderungen ein, die typischerweise gestellt werden. Die Einordnung geschieht anhand von Schulnoten von “Sehr gut” (1) bis “Mangelhaft” (5).

  Native Apps Web Apps Hybrid-Apps
Benutzererlebnis Sehr gut
Native UI, kompromissloses Look&Feel, sehr gute Performance und Anpassbarkeit
Ausreichend
Nur emulierte UI-Controls, Performance nicht nativ, immer Laden vom Server nötig
Befriedigend
Wie Web App, App-Daten aber lokal vorgehalten, zudem Geräte-Integration möglich
Geräte-Integration Sehr gut
Direkter Zugriff auf alle Geräte-Funktionen über native SDKs möglich, Integration in Betriebssystem
Mangelhaft
Kein Zugriff auf native Geräte-Funktionen, HTML5-Features des aufrufenden Browsers nutzbar
Befriedigend
Zugriff auf Geräte-Funktionen über nativen Wrapper möglich, aber eingeschränkt, geringe Integration in Betriebssystem
Portabilität
andere Plattformen
Mangelhaft
Neuentwicklung einer App für jede zu unterstützende Plattform nötig, keine Flexibilität bzgl. neuer Plattformen
Sehr gut
Die gleiche App ist direkt auf mehreren Plattformen lauffähig, Inkompatibilitäten sind jedoch möglich
Gut
Codebasis der Web App kann verwendet werden, pro Plattform ist ein nativer Container nötig
Aufwand
Cross Plattform
Mangelhaft
Hohe Kosten und Zeit durch nötige Neuentwicklung für jede Plattform
Sehr gut
Geringe Kosten und Zeit bei Adressierung vieler Plattformen durch Weiterverwendung der gleichen App
Gut
Recht geringe Kosten und Zeit durch Verwendung der Web App als eine Codebasis
Wartbarkeit Ausreichend
Bugfixes/Anpassungen müssen in jeder App durchgeführt werden, App-Store-Prozesse sind einzuhalten
Sehr gut
Bugfixes/Anpassungen müssen nur einmal durchgeführt werden, nach Deployment der Webseite direkt verfügbar
Befriedigend
Bugfixes/Anpassungen müssen nur einmal durchgeführt werden, App-Store-Prozesse sind einzuhalten
Verwaltbarkeit Ausreichend
Apps müssen über öffentliche / private App Stores bereitgestellt werden, App-Store-Prozesse sind einzuhalten
Gut
Web Apps stehen direkt nach dem Deployment auf einem Web Server bereit
Ausreichend
Apps müssen über öffentliche / private App Stores bereitgestellt werden, App-Store-Prozesse sind einzuhalten
Auffindbarkeit Sehr gut
Gängige App Stores stellen primäre Anlaufstelle für Nutzer dar, Bewerbung der App und Suche möglich
Ausreichend
Nutzer können die App über eine URL aufrufen, die ihnen bekannt sein muss
Sehr gut
Gängige App Stores stellen primäre Anlaufstelle für Nutzer dar, Bewerbung der App und Suche möglich
Investitions-schutz Mangelhaft
Für jede Plattform wird i.d.R. anderes Know How benötigt, Experten sind teuer, Know How wird bei Plattformwechsel überflüssig
Gut
Entwickler müssen sich “nur” in Webtechnologien auskennen, Experten sind zahlreich, Know How ist bei Plattformwechsel nicht verloren
Befriedigend
Wie bei Web App, allerdings müssen Entwickler für den nativen App-Container die jeweilige Plattform in geringem Umfang adaptieren

Es ist zu beachten, dass alle Anforderungen abhängig vom Szenario eine hohe oder niedrige Gewichtung haben. “Cross Plattform” kann z.B. überhaupt keine Anforderung sein, sodass hier die native App-Entwicklung im Normalfall bevorzugt wird.

Insgesamt ist zu erkennen, dass es bei der App-Entwicklung keine Standardantwort gibt, mit der jedes Problem erschlagen werden könnte. Zu komplex sind die Anforderungen, die u.a. von den zu unterstützenden Plattformen, dem Zielpublikum, dem Entwickler-Know-how und den geplanten Aufwänden abhängen. Daher ist von Fall zu Fall zu entscheiden, welche Lösung am besten geeignet ist.