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 |
|
|
|
Nachteile |
|
|
|
Wann? |
|
|
|
Einsatz-szenarien |
|
|
|
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.
Sie sehen gerade einen Platzhalterinhalt von Facebook. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von Instagram. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen