App Entwicklung 101: Nativ, Web, Hybrid oder Cross-Plattform?

app entwicklung

Bevor es mit Entwicklung einer App losgehen kann, muss eine grundlegende Entscheidung getroffen werden: auf welcher technischen Basis soll die Umsetzung stattfinden?

Dabei gibt es zahlreiche Optionen, die sich grob in vier Kategorien eingliedern lassen.

Jede dieser vier Kategorien hat ihre spezifischen Vor- und Nachteile und bieten sich für manche Apps mehr an, als für andere. Ein nachträglicher Wechsel ist mit hohen Aufwänden verbunden und sollte vermieden werden.

Dementsprechend will die Auswahl der technischen Umsetzungsbasis sehr gut überlegt sein.

Native Entwicklung

Grundlagen

Wird eine App in der plattformspezifischen Entwicklungssprache realisiert, handelt es sich um eine native App. Bei iOS ist das Swift oder Objective-C und bei Java oder Kotlin. Entwickelt werden native Apps auf Basis der von den Herstellern Apple und Google zur Verwendung bereitgestellten SDKs.

Wer seinen Usern die optimale Nutzererfahrung bieten und außerdem Gebrauch von allen Möglichkeiten der aktuellsten Betriebsysteme und Hardware machen möchte, ist mit einer nativen Entwicklung auf der sicheren Seite.

Vorteile

  • Die uneingeschränkt bestmögliche Performance
  • Immer Zugriff auf die aktuellsten APIs und Features

Nachteile

  • Für iOS und Android ist jeweils eine dedizierte Entwicklung notwendig, es gibt also keinerlei Synergien bei einer Umsetzung für beide Plattformen (grundlegende Gedanken zur Software-Architektur und andere Nebeneffekte ausgenommen)
  • Um Inhalte und Funktionen der App zu aktualisieren, muss ein Update in den App Stores eingereicht und anschließend von den Nutzern installiert werden

Webapps

Grundlagen

Der Begriff Webapps wurde irgendwann zur Zeit der ersten „richtigen“, sprich nativen, Apps aus der Taufe gehoben und hat sich bis heute gehalten, obwohl er eigentlich irreführend ist. Denn eine Webapp ist nichts anderes als eine Webseite, die sich auf einem Handy halbwegs vernünftig darstellen und bedienen lässt. Stichwort „responsive webdesign„.

Als der App gerade los ging, waren Webapps die vermeintliche Hoffnung aller HTML-Entwickler und -Agenturen, die auch etwas vom Kuchen abhaben wollten. Aber obwohl responsive Webseiten heutzutage zwar selbstverständlich sind, haben sie sich nie als Alternative zu nativ entwickelten Apps durchsetzen können.

Unter dem Überbegriff „Progressive Web Apps“ wird gerade ein zweiter Anlauf unternommen, die Nachteile gegenüber nativ entwickelten Apps zu reduzieren.

Vorteile

  • Nach der Entwicklung kann eine Webapp sowohl auf iOS-, als auch auf Android-Geräten (jaja, Windows, genau…) gleichermaßen dargestellt und bedient werden
  • HTML-Entwickler sind tendenziell günstiger als App-Entwickler
  • Anpassungen an der Webapp sind sofort verfügbar, ohne ein Update einreichen zu müssen und ohne eine Installation auf Seiten der Nutzer

Nachteile

  • Eingeschränkter Funktionsumfang im Vergleich zu einer nativen App, beispielsweise im Bereich Offline-Verhalten, Datenbanken, Push-Notifications, TouchID/, etc.
  • Geringere Performance und schlechtere Usability im Vergleich zu einer nativen App
  • Keine auf die jeweilige Plattform optimierte Nutzererfahrung – oder wenn doch, dann nur mit entsprechenden Zusatzaufwänden, was wiederum den vermeintlich großen Vorteil von Webapps relativiert
  • Keine Präsenz im Apple App Store und Google Playstore
  • Geringere Retention, da kein App Icon auf dem Handy verfügbar ist (Nutzer können sich zwar Lesezeichen zu URLs auf ihrem Handy anlegen, macht aber keiner)

-Apps

Grundlagen

Hybrid-Apps versuchen eine Brücke zwischen nativen Apps und Webapps zu bauen. HTML Inhalte werden dabei in einen nativen Rahmen gelegt und durch weitere native Komponenten ergänzt.

In der Theorie verbinden Hybrid Apps das Beste der nativen- und HTML-Entwicklung. In der Praxis kommt es oft zu Schwierigkeiten bei der Verknüpfung der beiden Welten. Wohin beispielsweise mit der bestehenden Navigation, wenn die native App schon eine hat?

Zusätzlich zu einer sehr detaillierten technischen Konzeption, braucht es einen wohl überlegten Plan, welche Bereiche und Funktionen der App mit Webinhalten und welche mit nativen Komponenten realisiert werden sollen.

Interessant sind Hybrid Apps für Unternehmen, die nach einem kostengünstigen Einstieg in die App suchen und bereits über eine mobile optimierte Webseite verfügen, in welcher sich Layouts oder Inhalte oft ändern.

Vorteile

  • Die Einschränkungen von Webapps können durch native Komponenten ausgeglichen werden
  • Durch den Einsatz von HTML Inhalten werden teilweise signifikante Synergien zwischen den Plattformen iOS und Android geschaffen
  • Hybrid Apps können in die App Stores eingereicht werden, sofern sie über ausreichend native Inhalte verfügen

Nachteile

  • Oftmals hohe Aufwände bei der Anpassung von bestehenden HTML-Inhalten für den Einsatz innerhalb von Apps
  • Komplexität und Fehleranfälligkeit bei der notwendigen Kommunikation zwischen HTML und nativer App, beispielsweise für die Navigation oder beim Einsatz von JavaScript Inhalten
  • Einschränkungen der Performance und Usability im Bereich der HTML Inhalte
  • Potenziell kann ein störender Bruch beim Übergang zwischen nativen Bereichen und HTML Bereichen wahrgenommen werden

Cross-Plattform-Entwicklung

Grundlagen

Eine schöne Alternative zur plattformspezifischen, nativen Entwicklung kann eine Umsetzung auf Basis eines Cross-Plattform-Frameworks wie Xamarin oder React Native darstellen.

Im Detail ist es zwar etwas diffiziler, aber einfach ausgedrückt: Mit Cross-Plattform-Frameworks lassen sich native Apps für mehrere Plattformen in nur einer Entwicklungssprache entwickeln. Außerdem muss alles, was der Nutzer nicht sieht und im Hintergrund stattfindet, nur ein einziges mal entwickelt werden. Dabei handelt es sich um Datenbanken, Schnittstellen-Anbindungen, Berechnungslogiken und mehr – all das kann im Kern der App, oft auch „Core“ genannt, umgesetzt werden, von dem sich dann sowohl iOS als auch Android bedienen. Nur noch die Oberfläche muss spezifisch für jede Plattform entwickelt werden.

Setzt man Xamarin.Forms ein und gibt sich mit den Standard-Interfaces zufrieden, sprich der unter iOS und Android jeweils vom System aus generierten Standard-Oberfläche, dann lässt sich sogar die UI-Implementierung zwischen den Plattformen teilen. Oft reicht das zwar nicht aus, kann aber für sehr simple Applikationen mit geringen Ansprüchen an das UI eine Möglichkeit darstellen.

All diese Eigenschaften Zeit und Geld, nicht nur bei der initialen Entwicklung, sondern auch perspektivisch bei der Wartung der App. Muss zum Beispiel eine bestehende Schnittstelle erweitert werden, kann das an einer zentralen Stelle stattfinden und wirkt sich direkt auf beide Plattformen aus. Am Rande sei erwähnt, dass sich auch Hybrid-Apps mit einer Cross-Plattform-Entwicklung realisieren lassen.

Vorteile

  • Synergien von bis zu 65% oder mehr bei der Entwicklung von Apps für iOS und Android
  • Keinerlei Einschränkungen im Funktionsumfang im Vergleich zu „regulären“ nativen Apps

Nachteile

  • Man begibt sich in eine Abhängigkeit zum Anbieter des Cross-Plattform-Frameworks und muss sich darauf verlassen, dass neue APIs der Hersteller kurzfristig nachgezogen und innerhalb des Frameworks verfügbar gemacht werden
  • Entwickler brauchen Erfahrung in der Sprache des Frameworks und zusätzlich plattformspezifische iOS und Android Expertise
  • Für die Nutzung von Cross-Plattform-Frameworks fallen für gewöhnlich Lizenz-Kosten an
  • Mit Cross-Plattform-Frameworks entwickelte Apps tendieren dazu größer zu sein, als normale native Apps

Über den Autor: Manuel Raimund ist Mobile only seit Tag 1. Mehr als 10 Jahre Beratung von Startups und Unternehmen zu Apps und mobile Services. Macht aus Ideen, Fragen und Chaos einen konkreten Plan. Hat den Blick für das große Ganze und das Händchen für das Operative.  und Geschäftsführer von Die neue Abteilung, einer Beratungsagentur spezialisiert auf Apps und Co-Moderator des gleichnamigen Podcasts.

Hinterlasse jetzt einen Kommentar

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


Ich bestätige, dass die hier von mir eingegebenen persönlichen Daten in der von mobile zeitgeist genutzten Datenbank bis auf Widerruf gespeichert werden dürfen.