Von
Matthias Fehr
/05.03.18

In den letzten Jahren hat sich das Nutzerverhalten immer mehr Richtung Mobile verschoben. Dies eröffnet neue interessante Möglichkeiten, um mit den Nutzern zu kommunizieren. Zum Beispiel kann man mit Push Benachrichtigungen die Nutzer immer wieder ansprechen und sie so dazu bewegen, mit der App zu interagieren.

Sobald Sie sich dazu entschieden haben, eine Mobile App zu realisieren, stellt sich die grundlegende Frage, für welche Geräte die App verfügbar sein soll und wie der Kostenrahmen dafür aussieht. Aus Entwicklersicht spielt dabei eine wichtige Rolle, ob die App nativ oder hybrid entwickelt werden soll. Da diese Begriffe häufig Verwirrung stiften, möchte ich genauer darauf eingehen, was sich hinter diesen Methoden verbirgt und was die jeweiligen Vor- und Nachteile sind. 

Native Apps

Native Apps werden in der von der Plattform vorgesehenen Programmiersprache entwickelt. iOS Apps werden in Objectiv-C oder Swift geschrieben, Android Apps in Java. Die meisten Apps, die man aus dem App Store kennt, sind Native Apps.

Diese Methode bietet einige Vorteile. Einerseits ist die App sehr performant und alle Funktionen einer Plattform, welche diese zu bieten hat, können genutzt werden. Andererseits entspricht das «Look and Feel» dem, was die Nutzer von ihrem jeweiligen Gerät gewohnt sind. Sei dies die Menünavigation, Touch-Gesten oder das Styling.

Das Grundproblem bei dieser Lösung liegt jedoch darin, dass die beiden Apps untereinander nicht kompatibel sind. Das heisst, um eine wirklich Native App für beide Plattformen zu entwickeln, fällt die doppelte Arbeit an: Der doppelte Entwicklungsaufwand führt zu einer längeren Entwicklungszeit und somit zu höheren Kosten. 

Hybrid Apps

Bei den meisten Projekten besteht schon eine Webseite oder Plattform des Produktes im Internet. Ein intuitiver Ansatz ist, die Webseite für mobile Geräte zu optimieren. Wir nennen dies «Responsive Web Apps». Der Nachteil: Dies fühlt sich nicht an wie eine Mobile App, sie ist nicht im Store verfügbar und man keine Push Benachrichtigungen senden. Auch Sensoren (Bewegung etc.) können so heute noch nicht durchgehend angesteuert werden.

Nun kann man aber auch eine Native App entwickeln, deren einzige Aufgabe es ist, die Webseite optimal darzustellen. Somit hat man eine App im Store und hat die Möglichkeit, dem Benutzer Push Nachrichten zu schicken. Wir nennen dies eine «Hybrid App». Ziel dieser Lösung ist es, die doppelte Arbeit zu vermeiden und trotzdem eine App für iOS und Android anbieten zu können. Die Nachteile gegenüber vollständig nativen Apps sind die schlechtere Performance und der identische Look auf beiden Plattformen.

Weitere Anwendungsfälle dafür sind zum Beispiel: Man will die Reaktion auf eine App-Idee zuerst testen, bevor man grössere Investition tätigt. Oder man will lediglich simple Inhalte anzeigen, bei welchen die Nutzererfahrung nicht so wichtig ist (zum Beispiel bei unternehmensinternen Apps). 

Cross-Platform Native Apps

Wäre es nicht interessant, die Vorteile zu kombinieren; also eine Native App zu entwickeln, bei der man nicht den doppelten Programmieraufwand hat, um beide Plattformen zu unterstützen?

In den letzten Jahren wurden mehrere Alternativen verfügbar, um die Vorteile der plattformübergreifenden Entwicklung zu nutzen, ohne die Benutzererfahrung oder den Zugriff auf native Funktionen zu beeinträchtigen. Wir setzen dabei auf «React Native», bei welcher die App in Javascript geschrieben wird und dabei gleich aufgebaut ist, wie das verbreitete Webframework React.

Wir sehen in React Native die aktuell beste Lösung, um eine App für beide mobilen Plattformen zu entwickeln. Denn ein grosser Teil des Codes kann für beide Plattformen verwendet werden und dennoch wird der Plattform spezifischen UX (User Experience) Rechnung getragen. Die Performance kommt nahe an diese von nativen Apps ran. React und React Native wurden und werden weiterhin aktiv von Facebook entwickelt und bereits von einigen bekannten Namen eingesetzt, wie zum Beispiel AirBnb oder Instagram.

Falls Sie Ihre Plattform auch für Mobile User verfügbar machen möchten oder weitere Fragen haben, zögern Sie nicht uns zu kontaktieren.