Blog

Hilfestellung - Welche App-Architektur brauche ich?

Web-App, Native-App, Hybrid-App

Native-App
Die nativen Apps werden individuell für Plattformen wie iOS, Android und Windows konzipiert. Sie nutzen die Hardware wie Kamera, GPS oder Sensoren des Endgerätes optimal. Doch jede Plattform besitzt eine eigene Muttersprache, die sie spricht und versteht. Daher muss für jede Plattform ein individueller Code geschrieben werden, damit die Hardware die App versteht und eine native Performance möglich ist. Das führt in der Entwicklung und in der späteren Pflege zu einem höheren Aufwand, da jede Arbeit für jede der Plattformen einzeln wiederholt werden muss. Durch die Muttersprache wird dafür gesorgt, dass die App voll in das Betriebssystem der Plattform integriert wird. Dadurch sind native Apps der Sieger in Sachen Usability und Performance. Sie fühlen sich super an und machen Spaß. Das liegt am nativen User Interface: die Benutzeroberfläche. Sie ist das, womit der Endnutzer in Berührung kommt und die Schnittstelle zwischen Endgerät und Mensch. Sie sollte möglichst schnell auf Benutzereingaben reagieren, damit der Benutzer Spaß an der Bedienung hat. Übrigens gibt es neben der Muttersprache mittlerweile auch einige Tools wie Xamarin zur sogenannten "Cross-Plattform-Entwicklung": Hier wird in einer einheitlichen Sprache auf allen Zielplattformen entwickelt. Trotzdem sind die entstehenden Apps von nativen Apps nicht zu unterscheiden - haben aber eine Art kleinen Simultanübersetzer dabei, der zwischen der einheitlichen Sprache und der jeweiligen Muttersprache übersetzt. Für unsere heutige Betrachtung können wir diese Bauart von Apps also ruhig als nativ betrachten. Eine native App kann im Store geladen und auf dem Smartphone oder Tablet installiert werden. Besonders komplexe Projekte mit einer aufwendigen Benutzeroberfläche, die uneingeschränkten Zugriff auf die Hardware benötigen, sind für die native App-Entwicklung sinnvoll.

Web-App
Web Apps oder auch HTML5 Apps genannt, lassen sich mit dem Open Source Framework Apache Cordova plattformübergreifend entwickeln. Cordova verpackt die Website in die Hülle einer nativen App - quasi eine Website im App-Mantel. HTML5 Apps sind somit kostengünstiger in der Entwicklung als native Apps, da nur ein Code für alle Plattformen geschrieben wird. Im grundlegenden Aufbau handelt es sich bei einer HTML5 App um eine Website, die einen Rucksack mit sich trägt. In diesem Rucksack befinden sich alle relevanten Informationen zur Sprache, basierend auf HTML5 und JavaScript und die Zielplattformen. Erst die Informationen im Rucksack machen die App voll funktionsfähig - auch offline. Soll die App einen Barcode scannen? Plugins sorgen für netten extra Code, welcher der App einen intensiveren nativen Touch verpasst und einen Zugriff auf die Gerätehardware erlaubt. Web Apps können ganz normal über den Store installiert werden. Dadurch haben sie die gleichen Rechte (und Pflichten) wie native Apps. Doch der Nachteil von Web Apps ist das User Interface. Wir als Benutzer bemerken, dass die Benutzeroberfläche nicht so smooth reagiert wie die einer nativen App. Fakt ist: Die Web App ist und bleibt eine Website mit nativen Plugins, die unmöglich an eine native Usability herankommt.

Hybrid-App
Sie wollen eine App, die mehr als nur eine Website im App-Mantel ist und eine bessere Usability liefert? Die Lösung für das Web-App-Dilemma ist die hybride App. Sie bedient dabei Cross-Plattform die verschiedenen Plattformen und muss nicht individuell für iOS, Android oder Windows entwickelt werden. So sind die Entwicklungskosten wesentlich geringer als bei der rein nativen Entwicklung. Eine hybride App lässt sich nicht als reine native App, aber auch nicht als reine Web App bezeichnen. Sie ist eine Fusion der Vorteile aus beiden Welten - irgendwie wie ein Marmorkuchen. Hybride Apps werden mit nativem Code geschrieben und an beliebigen Stellen um HTML5-Elemente ergänzt. So ergibt sich eine ideale Mischung aus nativen und webbasierten Elementen. Der native Code sorgt dafür, dass die App auf Gerätehardware zugreifen kann und nutzt Vorteile der einzelnen Plattformen. Die hybride App wird über den Store auf dem Endgerät installiert. Soll eine App native Eigenschaften haben, aber kostengünstiger in der Entwicklung sein ist die hybride App quasi der Black Jack unter den Apps.

Fazit
Nun haben Sie die wesentlichen Bauweisen moderner mobile Apps kennengelernt. Und Sie sehen: Jedes Werkzeug hat seine Berechtigung, es passt eben nicht immer der goldene Hammer, nur weil man ihn gerade dabei hat. Manchmal reicht ein Kreuzschlitz. Es gibt Anwendungsgebiete, die für eine native Entwicklung sprechen. Dennoch gibt es ebenso Anwendungsbereiche, die für eine hybride App oder Web App sprechen. Wer eine App möchte, die komplexe Projekte handhaben kann und in Sachen Performance alles in den Schatten stellt, ist nativ unterwegs. Wer hingegen eine App möchte, die plattformunabhängig ist und über ein begrenztes Budget verfügt, ist mit einer Web App besser beraten. Doch welche Bauart es werden soll, hängt immer vom Zweck der App ab. Reale Aspekte wie Kosten, Zeit und Ziel einer App spielen ebenso eine bedeutende Rolle in der Welt der Entscheidungen, wie bahnbrechende Wünsche und Visionen. Auch gibt es keinen ultimativen Sieger, denn jede der oben vorgestellten Apps verfügt über Vor- und Nachteile - je nachdem welchen Zweck die App haben soll. Soll sie ein unabdingbarer integraler Bestandteil des Alltags werden oder wollen Sie doch nur schnell einen Flieger in die Karibik buchen? Und die Frage, ob es einen ultimativen Sieger gibt, lässt sich so nicht pauschal beantworten. Die passenderen Fragen hingegen lauten: Welche Ansprüche haben Sie und Ihre Benutzer an Ihr App-Projekt? Wie hoch ist das Budget? Und vor allem: Welchen Zweck verfolgt Ihr Projekt? Es gibt keine hundertprozentige-pauschale-Antwort, wie eine App entwickelt wird. Letztlich kommt es auf die Wünsche des Kunden an und was wirtschaftlich Sinn ergibt. In den finalen Entscheidungsprozess spielen viele Faktoren mit ein, welche Sprache das Projekt letztlich spricht: nativ, web oder hybrid.





Drei Anzeichen für eine veraltete Webseite Teil 1