5
September

Grundfragen der App-Entwicklung

nativ vs. hybrid

Was kostet eine App?

Gegenfrage: Sekt oder Selters? Ferrari oder Fiat Punto? Was würden Sie wählen?

"Moment mal!", möchten Sie jetzt sagen. "Diese Fragen lassen sich doch gar nicht allgemein beantworten. Bei einer rauschenden Feier gewinnt der Sekt, bei 36 Grad im Schatten gibt man alles für ein Glas Wasser. Und was nützt einem der Ferrari in einer Tempo-30-Zone?" Eben.

Ähnlich ist es mit der Frage, was eine App kostet. Sie ist situationsabhängig mit vielen Faktoren verbunden - neben Konzeptionsaufwand und Design, die unabhängig von Art der Programmierung sind - unter anderem damit, ob eine native oder hybride App gewünscht ist.

Nativ? Hybrid? Ist das gefährlich?

Nein: Nativ bedeutet in diesem Kontext, dass die Anwendung ausschließlich in der Programmiersprache und mit den Vorgaben des benutzten Betriebssystems entwickelt wird. Hybrid steht für eine Kombination aus webbasierten und systemeigenen Programmiersprachen. Insbesondere einfache Standardanwendungen, die häufig aktualisiert werden müssen - zum Beispiel Nachrichtendienste, Onlinekataloge oder Wörterbücher - lassen sich mithilfe hybrider Programmierung gut und kostengünstig umsetzen. Bei Jamit Labs setzen wir jedoch auf die Entwicklung komplexer, nutzerfreundlicher Anwendungen. Und da haben native Apps ganz klar die Nase vorn.

Wie unterscheidet sich die Programmierung nativer und hybrider Apps?

Native Apps werden mithilfe integrierter Entwicklungsumgebungen IDE eigens für "ihr" Betriebssystem entwickelt. Das bedeutet, dass eine native Android-Anwendung in Kotlin oder Java mithilfe von Android Studio geschrieben wird, eine native iOS-Anwendung hingegen mithilfe von X-Code in Swift oder Objective-C. Eine native App ist also immer nur mit einem Betriebssystem kompatibel - auf das ist es dann aber optimal abgestimmt. Der Gegenentwurf dazu ist die hybride App: Der Content für diese Art der Anwendung ist in vergleichsweise einfachen, webbasierten Sprachen wie HTML, CSS oder JavaScript verfasst. Für die Kompatibilität mit dem mobilen Betriebssystem sorgt eine Art nativer Container, der wie ein Browser funktioniert, in dem die Webinhalte aufgerufen werden können. Bildlich gesprochen ist eine hybride App somit eine Webseite, die sich als App verkleidet hat. Sie funktioniert mit wenig Aufwand auf allen Betriebssystemen - dafür aber frei nach dem Motto "one fits all".

Massenware vs. Maßanzug

Aus diesen grundlegenden Beobachtungen ergeben sich eine Reihe Vor- und Nachteile. Ganz offensichtlich lassen sich hybride Apps ein wenig kostengünstiger herstellen, da die Inhalte nur einmal programmiert werden müssen. Andererseits schwächeln sie eher bei der Performance, weil sie von einem Browser abhängig sind, während native Apps dank der gleichen Programmiersprache direkt auf das Betriebssystem zugreifen können. Dies gilt insbesondere, sobald Schnittstellen betroffen sind: Der Zugriff auf Mikrofon, Kamera, GPS, Bewegungssensoren und ähnliche Hardwarekomponenten, aber auch auf Anwendungen des Betriebssystems funktioniert bei nativen Apps von Anfang an reibungsloser - vor allem schneller, teilweise auch besser. Sind Push-Notifications, In-App-Käufe oder Zugriff auf das Dateisystem Teil des Konzepts, kommt man um native Entwicklung kaum herum.

Für die User Experience mindestens ebenso relevant wie die Performance ist die Usability. Native Apps übernehmen dank der Guidelines 1:1 das Bedienkonzept des Betriebssystems. Somit können selbst Erstnutzer die App intuitiv bedienen. Entwickelt man hingegen hybride Apps, muss man sich zwangsläufig zwischen den Bedienkonzepten von Android und iOS entscheiden - und mindestens eine Nutzergruppe vor den Kopf stoßen. Dies ist insbesondere bei komplexen Nutzeroberflächen eine riskante Strategie, wenn man bedenkt, dass die meisten User einer App nur ein bis zwei Anläufe geben.

Ein zusätzliches Plus nativer Entwicklung ist die Verfügbarkeit. Da die Inhalte bei der Installation mit heruntergeladen wurden, funktionieren sie auch offline. Anders bei hybriden Apps, die bei jedem Start den aktuellen Content online abrufen müssen bzw. maximal auf den Cache zurückgreifen können. Dafür können die Inhalte hybrider Apps wie eine Webseite jederzeit unkompliziert aktualisiert werden. Native Apps hingegen benötigen zusätzliche Updates - und das selbst dann, wenn die Funktionen unverändert bleiben. Da sowohl Google als auch Apple jedes Jahr eine neue Generation ihres Betriebssystems herausbringen, sind regelmäßige Anpassungen notwendig, um den aktuellen Standards zu entsprechen. Belohnt wird man mit optimaler User Experience.

Was darf's denn sein?

Je nach Anliegen genügt die One-Size-Strategie der hybriden Applikationen. Doch wenn hohe Rechenleistung, anspruchsvolle Grafiken, Offline-Funktionalität oder auch "nur" ausgezeichnete User Experience für komplexe Anwendungen gefragt sind, sind native Apps die erste Wahl, um Nutzer glücklich zu machen. Diese Qualität spiegelt sich im Preis wider - wie auch bei anderen hochwertigen Produkten. Andererseits wissen das auch die Nutzer zu schätzen und sind im Store oder durch In-App-Käufe bereit, den Aufwand entsprechend zu honorieren - spätestens nach ein paar Fehlversuchen mit Konkurrenzprodukten. Und auch für innerbetriebliche Anwendungen bietet native Programmierung Vorteile: Hier verhindert nicht selten fehlende Akzeptanz seitens der Mitarbeiter, dass neue Technologien eingeführt werden. Eine App, die von Anfang an schnell, intuitiv und zuverlässig genau das macht, was sie soll, kann solche Sorgen mit Leichtigkeit zerstreuen.

Ganz gleich, was Ihre App-Idee oder wer Ihre Zielgruppe ist: Wir beraten Sie individuell und finden die passende Lösung für Sie. Kommen Sie auf uns zu!