Website-Icon mobile zeitgeist

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

app entwicklungapp entwicklung

Bevor es mit der 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 Android 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

Nachteile

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 Hype 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

Nachteile

Hybrid-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 Welt suchen und bereits über eine mobile optimierte Webseite verfügen, in welcher sich Layouts oder Inhalte oft ändern.

Vorteile

Nachteile

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 sparen 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

Nachteile

Ü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. Gründer und Geschäftsführer von Die neue Abteilung, einer Beratungsagentur spezialisiert auf Apps und Co-Moderator des gleichnamigen Podcasts.

Die mobile Version verlassen