Die 3 wichtigsten App-Typen und was du über sie wissen musst
Alle Wege führen nach Rom. Doch manche gehen zu Fuß und andere fliegen mit dem Flugzeug. Sehr ähnlich verhält es sich mit der richtigen Auswahl der Technologien für eine App-Entwicklung.
Wenn man an Apps denkt, denkt man vor allem an Anwendungssoftware auf mobilen Endgeräten wie für Smartphones und Tablets.
Doch je nach Anwendungsgebiet machen unterschiedliche App-Typen Sinn. Da diese Auswahl sehr relevant für die Zukunft der App ist, muss bereits zu Beginn feststehen, was die langfristige Strategie der Software sein soll. Um hier keine technologischen Fehlentscheidungen zu Beginn zu treffen. Denn je nach App-Typ ist man begrenzt auf die jeweiligen technischen Möglichkeiten.
Grundsätzlich unterscheidet man bei Apps zwischen drei verschiedenen Typen:
- Native Apps
- Web Apps
- Hybride Apps
Native Apps
Native Apps werden speziell für ein bestimmtes Betriebssystem entwickelt, wie beispielsweise für Apple iOS, oder Google Android. Windows Phone Apps gibt es nur mehr sehr vereinzelt und sind eher die Ausnahme als die Regel.
Der größte Vorteil von nativen Apps ist, dass sie vom Endnutzer immer als am "flüssigsten" beurteilt werden. Auch wenn iOS oder Android ein Betriebssystem-Update rausspielt kann man native Apps relativ schnell wieder anpassen. Weiters sind Geräte wie Apple Watch anfangs oft nur mit einer nativen Programmierung ansteuerbar. Hier hinken hybride Apps immer etwas hinterher. Die meisten Apps die in den letzten Jahren entwickelt wurden sind native Apps.
Der größte Nachteil einer native App ist, dass sie für jedes Betriebssystem eigens entwickelt werden muss. Das bedeutet einen enormen Entwicklungsaufwand für das gleiche System. Die meisten Apps, welche wir verwenden, sind für iOS und Android und oft kann man auch via Browser auf sie zugreifen. Wie bei Facebook, Spotify, Twitter, Linkedin,... . Will man eine App entwickeln muss man immer wissen, wo der Anwender ist und dies ist in den meisten Fällen auf allen Plattformen. Dieser Nachteil ist wiederum einer der größten Vorteile bei den hybriden Apps, wo man nur einmal für alle Plattformen entwickelt.
Web Apps
Web Apps kommen dann zum Zug, wenn es wichtig ist, dass das Tool auch mit Desktop-Rechnern und Laptops funktionieren muss.
Da eine Web App über einen Browser geöffnet werden kann, braucht man sie nicht über einen Store installieren. Dies ist ein enormer Vorteil, da die Barriere vom Endnutzer oft sehr groß ist, sich eine neue App zu installieren. Die Web App ist wie eine normale Website aufzurufen und somit ist der größte Vorteil die Geräteunabhängigkeit. Jede moderne Software sollte, sofern nicht zwingend nur eine App notwendig ist, als Web App konzipiert werden.
Ein weiterer Vorteil ist die Darstellung des User Interfaces (Design der Software). Bei einer nativen App ist man immer begrenzt auf das Betriebssystem. Dies ist hier nicht der Fall, da der Browser die Software abbildet und moderne Browser wie Safari, Chrome und Firefox die Software überall gleich darstellen können. Natürlich abhängig von der Bildschirmgröße.
Was bei den nativen und hybriden Apps Standard ist, ist bei den Web Apps der größte Nachteil: es gibt keine App-Benachrichtigungen. Das ist sehr schade, da gerade dieses Feature oft ein must have ist.
Hybride Apps
Früher galten sie eher als die "langsamen" und nicht "flüssigen" Apps. Doch seit Google Flutter und React (beides neue Technologien) ist es endlich möglich Apps zu entwickeln, welche mit den nativen Apps mithalten können.
Hybride Apps sind wie normale Apps über den AppStore, oder PlayStore zu installieren. Der Unterschied zu nativen Apps ist für den User im Normalfall nicht sichtbar, da dieser in der Softwareentwicklung liegt.
Bei einer nativen App Entwicklung hat man den großen Nachteil, dass man für jedes Betriebssystem einen eigenen Programmierer benötigt und in der Regel die doppelte Aufwände (bei bspw. einer iOS und Android Anwendung) entstehen. Bei hybriden Apps entwickelt man tatsächlich nur eine Anwendung, welche dann als native App für das jeweilige Betriebssystem rausgerechnet wird.
Ein Nachteil bei dieser Art von Apps ist, dass man nicht alle Zugriffe auf die Hardware so einfach ansteuern kann, wie bei nativen Apps.
Fazit
Welche ist jetzt der richtige App-Typ für mein Software-Projekt? Die Antwort ist wie so oft: es kommt darauf an. Wichtig ist es, dass man bereits zu Beginn weiß, wohin die lange Reise der Software geht. Wenn es um ein internes System geht, welches nur eine gewisse Anzahl an User bedient, ist das eine andere Welt, als eine App die im Store zum Download angeboten wird.