Hybrid-Apps

Was genau das ist und warum sie für Dich interessant sind

Hybrid-Apps, native Apps, Web-Apps – in der App Entwicklung stehen Dir viele Optionen zur Verfügung. Je nach Verwendungszweck, Anforderung und Ziel, ist eine andere Bauart mit einem anderen Framework besser geeignet. Bei so vielen Möglichkeiten kann es schonmal zur Verwirrung kommen. Um Dir einen Überblick zu verschaffen, haben Wir die wichtigsten Informationen für Dich zusammengefasst.

Native Apps

Um zu verstehen, was Hybrid-Apps genau sind, müssen wir nochmal zu den ursprünglichen App-Formen zurück gehen. Bis zu den Einheimischen unter den Apps sozusagen, den nativen Apps.

Native Apps sind Anwendungen, die speziell für ein bestimmtes Betriebssystem (z.B. Android, iOS, Windows) entwickelt werden. Die Tools und Programmiersprachen, die für die native Entwicklung benutzt werden, sind nur für dieses Betriebssystem bestimmt und werden alleine von ihm unterstützt. Damit sind sie lediglich über die Plattform verfügbar, für die sie entwickelt wurden und können meist nur im dazugehörigen App Store heruntergeladen werden.

Eine iOS-App beispielsweise kann nur auf dem IPad oder dem IPhone im zugehörigen App Store von Apple heruntergeladen werden. Android-Apps stehen demnach nur für Android-Geräte im Google Play Store zur Verfügung.

Um eine native App für mehrere Betriebssysteme zu entwickeln, muss für jedes Betriebssystem eine eigene native App erstellt werden. Hierfür wird jedes Mal ein neues App Framework angelegt und ein neuer Code erstellt. Das erscheint auf den ersten Blick sehr aufwendig. Der Vorteil dieses Aufwands ist jedoch, dass sich die Apps exakt auf die jeweilige Plattform abstimmen lassen. Das Design und die unterschiedlichen Funktionen können damit exakt an das jeweilige Betriebssystem angepasst werden.

Ein weiterer Vorteil nativer Apps ist, dass sie sowohl auf den Speicherplatz und die Hardware als auch auf alle spezifischen Funktionen und Informationen von mobilen Geräten zugreifen können. So kann die App zum Beispiel auch Push-Benachrichtigungen senden, die Kamera des Smartphones verwenden oder auf das GPS oder die E-Mail-Adresse zurückgreifen. Damit eignen sich native Apps auch für komplexere Anwendungen, die auch im Offline-Modus durchgeführt werden können. Für Updates und Änderungen nativer Apps gilt jedoch das Gleiche wie bei der Entwicklung: Eine Änderung muss an jede App und jedes Betriebssystem einzeln angepasst werden.

Web-Apps

Web-Apps sind Mobile Websites, mit der Hülle einer App. Genau wie bei Mobilen Websites werden die Informationen über ein mobiles Endgerät im Web über einen Internet Browser aufgerufen. Die App wird nicht im App Store heruntergeladen und installiert, sondern kann einfach mit dem Home-Bildschirm verknüpft werden. Anders als native Apps sind sie damit plattformübergreifend verfügbar. So können sie auf allen Browsern laufen und sind nicht nur auf eine Plattform beschränkt.

Durch die Cross-Plattform Entwicklung reduziert sich deutlich der Entwicklungs- und Wartungsaufwand bei Web-Apps. Außerdem gibt es keine Kompatibilitätsprobleme, da die App für alle Browser frei zugänglich ist.

Der große Nachteil von Web-Apps besteht jedoch in ihrer Konnektivität mit dem Web. Zwar ist es möglich einige Web-Apps auch offline zu nutzen, jedoch benötigen die meisten eine funktionierende Internetverbindung. Da sie nicht heruntergeladen und installiert werden, sind sie nur über den Browser zugänglich. Damit eignen sie sich nicht für Gegenden mit schlechter Internetanbindung oder Funklöchern.

Beispiele für Web-Apps sind unteranderem:

  • Google-Dienste wie Google Maps oder Gmail
  • Amazon (Onlineshop, Amazon Video & Amazon Music)
  • eBay
  • Microsoft Office Online

Hybrid-Apps

Was genau ist jetzt also eine Hybrid-App?

Hybrid-Apps sind, wie der Name schon sagt „hybrid“. Sie sind eine Kombination aus nativen Apps und Web-Apps. Die Vorteile beider App-Formen fusionieren miteinander und kreieren eine neue Cross-Platform App mit nativen Anwendungen und Web-Technologien.

Der größte Vorteil von Hybrid-Apps besteht in ihrer plattformübergreifenden Entwicklung. Anders, als bei nativen Apps, bei denen jeweils ein Framework, für eine App, für ein Betriebssystem entwickelt werden muss (eine für Android, eine für iOS etc.), bedienen hybride Apps plattformübergreifend unterschiedliche Betriebssysteme. So können sie für viele Betriebssysteme zur Verfügung gestellt werden.

Für die App Entwicklung von Hybrid-Apps wird lediglich ein hybrides Framework benötigt. Dadurch entsteht deutlich weniger Aufwand als bei der Entwicklung mehrerer nativer Apps. Durch die Cross-Plattform Entwicklung hybrider Apps reduzieren sich auch die Kosten und der Wartungsaufwand.

Hybride App Entwicklung

Für die App Entwicklung mit einem hybriden Framework werden, genau wie bei der nativen App Entwicklung, HTML5, CSS und JavaScript genutzt.  Jedoch basieren Hybrid-Apps genau wie Web-Apps auf Web-Technologien. Zur Entwicklung von Hybrid-Apps wird dazu als Basis ein nativer Code entwickelt, der mit HTML5 Elementen ergänzt wird.

So kann die Hybrid-App später auf die Gerätehardware zugreifen und gleichzeitig die Vorteile der einzelnen Plattformen nutzen. Hybrid-Apps werden genau wie native Apps vom User im App Store heruntergeladen.

In der Regel sind hybride- und native Apps nicht immer direkt voneinander unterscheidbar. Der besondere Vorteil der hybriden App Entwicklung liegt jedoch in der Wartung. Soll eine Funktion oder ein Design angepasst werden, muss dafür nur ein neuer Code erstellt werden, der dann auf alle anderen Systeme übertragen werden kann.

Besonders interessant ist die hybride Entwicklung für Unternehmen, die mit einem möglichst geringen Budget ihre erste App auf den Markt bringen, und dabei trotzdem die Distribution der verschiedenen App Stores ausnutzen wollen.

Passende Frameworks für Hybrid-Apps

Für die App Entwicklung mit hybriden Anwendungen können unterschiedliche Frameworks verwendet werden. Welches sich dazu am besten eignet hängt davon ab, für welche Betriebssysteme die Hybrid-App hinterher verfügbar sein soll.

Mit zu den beliebtesten Frameworks gehört unteranderem „Ionic“. Das Fundament für Ionic bildet das Angular Framework. Zusätzlich kommt für dieses Framework (wie bei vielen anderen Frameworks auch) Cordova zum Einsatz. Damit kann der native Code für iOS-, Android- und Windows Plattformen zur Verfügung gestellt werden.

Eine etwas breitere Spanne an Plattformen bietet das Framework „Intel XDK“. Basierend auf dem Open-Source-JavaScript-Framework von Intel können Hybrid-Apps für iOS, Blackberry, Windows, Tizen oder Android umgesetzt werden. Zusätzlich ermöglicht dieses Framework auch die Entwicklung von Applikationen für Firefox OS, Amazon, Chrome und Facebook.

Für Applikationen mit komplexen Anwendungen liegt Sencha Touch hoch im Ranking. Dieses Framework setzt seinen Fokus besonders auf Performance. Sencha Touch liefert vorgefertigte Widgets und Themes für die iOS-, Windows-, und Blackberry-Systeme und ist dabei dank Drag-&-Drop-Interface einfach zu bedienen.

Fazit

Ob nativ, web oder hybrid, welche App Entwicklung für Dich und Dein Unternehmen infrage kommt, hängt ganz von Deinem Ziel ab.

Was soll die App können? Soll die App auch im Offline-Modus nutzbar sein? Welche Leistung muss die App erbringen können? Für wen soll die App zugänglich sein? Welche Einschränkungen können in Kauf genommen werden? Und soll die App in Zukunft noch weiter ausgebaut werden? All dies sind Fragen, die es vor der Entwicklung Deiner App zu beantworten gilt.

Möchtest Du eine App, die auch komplexere Projekte handhaben kann und eine tolle Performance abliefert, ist eine native App wahrscheinlich am besten für Dich geeignet.

Für eine App hingegen, die auf verschiedenen Plattformen funktioniert und mit weniger Aufwand für ein geringeres Budget entwickelt werden kann, solltest Du wahrscheinlich besser auf eine Web-Entwicklung zurückgreifen.

Wenn Dein Ziel jedoch ein einfacher Einstieg ist, zum Beispiel um Deine eigene Website auch als App zur Verfügung zu stellen, oder mit geringem Aufwand mehrere Plattformen und Systeme wie iOS, Android, Windows etc.  abzudecken, könnte eine hybride Entwicklung genau das Richtige für Dich sein.

Welche Entscheidung Du letztendlich triffst, liegt ganz bei Dir. Lass Dich am besten vorher beraten und wähle dann aus, welche App-Entwicklung am besten zu Dir passt.