Android App Entwicklung: worauf sollte man achten?
Das Internet ist bereits seit vielen Jahren das wichtigste Mittel, um Kunden zu gewinnen und um mit ihnen zu kommunizieren. In der Anfangszeit reichten hierfür gewöhnliche Internetseiten aus.
Diese waren auf die Darstellung auf einem großen PC-Bildschirm ausgelegt. Mit dem Aufkommen der ersten Smartphones wurde jedoch schnell klar, dass die Darstellung auf diesen kleinen Endgeräten, die außerdem ein anderes Format nutzen, nicht den Ansprüchen der Anwender genügten.
Daher entwickelten die Web-Designer spezielle Ausführungen, die an dieses Ausgabeformat angepasst waren. Hierfür kommt mittlerweile meistens das responsive Design zum Einsatz. Dieses passt die Darstellung der Seite automatisch an die Bildschirmgröße an.
Um mit Smartphone-Anwendern zu interagieren, gibt es jedoch noch eine weitere Möglichkeit: die Verwendung einer App. Hierbei handelt es sich um ein kleines Programm, das direkt auf dem Gerät ausgeführt wird.
Hierfür gibt es unzählige Anwendungsmöglichkeiten. Beispielsweise können sie auf diese Weise Spiele, Nachrichten oder den Wetterbericht auf dem Gerät verfügbar machen. Darüber hinaus bestehen unzählige geschäftliche Anwendungsmöglichkeiten. Häufig kommen Apps für eine Kommunikation mit den Kunden zum Einsatz.
Wenn Sie eine solche Anwendung für das Online-Shopping gestalten, können Sie den Einkaufsprozess deutlich erleichtern. Auch innerbetriebliche Anwendungen sind möglich – von der Steuerung einer industriellen Maschine bis hin zur Kontrolle der Lagerbestände. Um von diesen vielfältigen Anwendungsmöglichkeiten profitieren zu können, ist es jedoch wichtig, die App Entwicklung genau auf den gewünschten Anwendungszweck auszurichten.
Dabei ist es notwendig, eine passende Technik auszuwählen und auf eine gute Performance zu achten.
Native-Apps, Web-Apps und Hybrid-Apps – die Unterschiede
Die klassische Form der Smartphone-App ist die sogenannte Native-App. Dabei handelt es sich um ein Programm, das direkt auf dem Gerät installiert ist und das innerhalb dessen Betriebssystems abläuft. Es bestehen jedoch noch weitere Möglichkeiten. Beispielsweise können Sie eine Web-App verwenden.
Diese wird nicht auf dem Gerät installiert. Sie rufen sie über ihre Internetadresse mit Ihrem Browser auf. Darüber hinaus gibt es sogenannte Hybrid-Apps. Diese werden zwar auf dem Gerät installiert. Sie laufen jedoch nicht direkt auf dem Betriebssystem ab. Stattdessen rufen sie hierfür den Webbrowser auf. Dabei können Sie dessen Darstellungsform jedoch anpassen – beispielsweise indem Sie die Adresszeile entfernen.
Auf diese Weise sind die Anwendung und die Darstellung ähnlich wie bei einer Native-App. Im Folgenden stellen wir Ihnen die Vor- und Nachteile der verschiedenen Möglichkeiten vor.
Die Native-App bietet viele Vorteile. Sie zeichnet sich im Vergleich zu den übrigen Alternativen durch eine hervorragende Performance aus. Außerdem hat sie vollen Zugriff auf alle Funktionen des Geräts. Wenn Sie beispielsweise auf den internen Datenspeicher, auf die GPS-Funktion oder auf die Kontakte zugreifen möchten, stellt die Verwendung einer Native-App eine sinnvolle Lösung dar.
Allerdings müssen Sie beachten, dass diese stets für ein ganz bestimmtes Betriebssystem vorgesehen ist. Sie können eine iOS-App beispielsweise nicht auf einen Android-Gerät ausführen. Daher müssen Sie entweder den Nutzerkreis einschränken oder unterschiedliche Versionen für die einzelnen Betriebssysteme entwickeln. Während die erste Möglichkeit die Nutzerzahlen reduziert, führt die zweite Alternative zu höheren Entwicklungskosten.
Web-Apps laufen direkt im Browser ab und sind daher vollkommen unabhängig vom Betriebssystem. Wenn Sie eine Web-App entwickeln, benötigen Sie daher nur eine einzige Version. Diese können Sie dann auf jedem Gerät, das mit einem Webbrowser ausgestattet ist, ausführen. Außerdem kommen für die Entwicklung bekannte Web-Technologien zum Einsatz: HTML, CSS und JavaScript.
All das führt dazu, dass die App Entwicklung hierbei schnell und einfach ist. Das spart Kosten. Die Web App ist ohne Download über ihre URL erreichbar. Das kann auf der einen Seite die Hemmschwelle für die Verwendung reduzieren. Auf der anderen Seite ist durch die fehlende Installation die Bindung zum Anwender geringer. Erhebliche Nachteile weisen Web Apps hinsichtlich der Performance und des Zugangs zu den Funktionen des Geräts aus.
Hybrid-Apps versuchen, die Vorteile von Web-Apps und Native-Apps miteinander zu vereinen. Da Hybrid-Apps ebenfalls im Browser ablaufen, kommen hierbei genau wie bei Web-Apps bekannte Web-Technologien für die Entwicklung zum Einsatz. Mithilfe eines passenden Frameworks werden diese dann so angepasst, dass eine Installation auf unterschiedlichen Betriebssystemen möglich ist.
Das führt zu einem schnellen und effizienten Entwicklungsprozess, der nur geringe Kosten aufwirft. Auf den Anwender wirkt die App jedoch fast wie eine Native-App. Sie wird auf dem Gerät installiert und über ein festes Symbol aufgerufen. Daraufhin wird zwar der Browser für die Ausführung gestartet. Allerdings ist es möglich, dessen Darstellung ganz individuell anzupassen. Daher ist die Wirkung ganz anders als bei einer Web-App. Die Hybrid-App hat außerdem Zugriff auf viele Funktionen des Geräts. Allerdings weist sie hinsichtlich der Performance deutliche Defizite im Vergleich zu einer Native-App auf. Deshalb entscheiden sich die meisten Betreiber nach wie vor für die Native-App.
Android Apps und iOS Apps: Vor- und Nachteile der beiden Systeme
Wenn Sie sich für eine Native-App entscheiden, müssen Sie diese genau an das Betriebssystem anpassen. Hierbei sind insbesondere Android und iOS von Bedeutung. Weitere mobile Betriebssysteme haben nur eine äußerst geringe Verbreitung, sodass Sie diese in der Regel vernachlässigen können.
Wenn Sie diese Alternativen miteinander vergleichen, ist es zunächst sinnvoll, auf die Nutzerzahlen zu achten. Android weist im Bereich der Smartphones einen Marktanteil von über 80 Prozent auf.
Das Betriebssystem iOS kommt hingegen nur auf knapp 15 Prozent. Das bedeutet, dass Sie mit einer Android-App deutlich mehr Menschen erreichen. Allerdings weisen iOS-Anwender im Durchschnitt eine wesentlich höhere Kaufkraft auf und sind meistens bereit, mehr Geld für eine App auszugeben. Wenn Sie eine kostenpflichtige App planen, kann dieser Aspekt von großer Bedeutung sein.
Auch bei der App Entwicklung bestehen erhebliche Unterschiede. Bei Android handelt es sich um eine offene Technologie. Daher können Sie die App Entwicklung auf jedem beliebigen Gerät durchführen.
Die meisten Entwicklungswerkzeuge stehen kostenfrei zur Verfügung. Bei iOS benötigen Sie hingegen auch für die Entwicklung ein Apple-Gerät. Das stellt eine erhebliche Einschränkung dar. Ein weiterer Aspekt besteht hinsichtlich der Veröffentlichung. Diese findet über die betriebssystemspezifischen Plattformen statt – Play Store für Android und App Store für iOS.
Beide Plattformen unterziehen die Apps vor der Veröffentlichung einer Prüfung. Die Richtlinien für den App Store sind jedoch deutlich strenger. Das kann Sie in Ihrer Gestaltungsfreiheit beeinträchtigen.
Ein weiterer Aspekt besteht darin, dass Android auf vielen unterschiedlichen Gerätetypen zum Einsatz kommt – vom Smartphone bis zum Smart-TV. Die Anzahl der unterschiedlichen Geräte ist bei iOS hingegen deutlich geringer. Um alle Gerätetypen bei der Entwicklung mit Android abzudecken, ist daher ein höherer Aufwand notwendig. Allerdings ergeben sich daraus auch deutlich mehr Anwendungsmöglichkeiten.
Aspekte für die Performance der App
Unabhängig davon, für welche der vorgestellten Alternativen Sie sich bei der App Entwicklung entscheiden, ist es wichtig, auf eine gute Performance zu achten. Wenn lange Wartezeiten entstehen oder die App das System sogar komplett blockiert, führt das zu einer geringen Zufriedenheit bei den Anwendern. Daher ist es wichtig, bereits bei der Entwicklung des Konzepts auf diesen Aspekt zu achten.
Viele Mitarbeiter aus dem kreativen Bereich gehen davon aus, dass die Performance nur von der Kodierung abhängt. Das ist aber falsch. Mache Aspekte benötigen selbst bei einer optimalen Implementierung eine hohe Rechenleistung oder einen intensiven Datentransfer. Wenn die Leistung des Geräts schwach oder der Internetanschluss langsam ist, kommt es daher stets zu Performance-Problemen.
Daher ist es wichtig, diesen Aspekt bereits beim Erstellen des Konzepts zu berücksichtigen und auf Bestandteile, die die Ausführungsgeschwindigkeit beeinträchtigen, nach Möglichkeit zu verzichten.
Doch auch bei der Umsetzung bestehen viele Möglichkeiten, um die Performance zu verbessern. Insbesondere bei Grafiken, die besonders häufig zu Problemen bei der Ausführung führen, bestehen ein hohes Verbesserungspotenzial. Beispielsweise ist es möglich, die Auflösung oder die Farbtiefe zu reduzieren. Häufig merkt der Anwender diese Unterschiede nicht einmal. Sie führen jedoch dazu, dass die App deutlich flüssiger abläuft.
Welche Programmiersprachen werden verwendet? Kotlin vs. Java
Für die Entwicklung der Nativen Apps für Google kann man entweder Kotlin oder Java verwenden.
Java ist dabei eine Programmiersprache, mit der man sehr flexibel ist.
Kotlin bietet jedoch den Vorteil, dass es eine Technologie ist, welche sich besser für die Entwicklung von mobile Apps eignet.
Kotlin ist zudem Cross Plattform und lässt sich zum Beispiel auch auf iOS und dem Browser ausführen.
C++, IntelliJ und Android Studio sind andere Technologien von denen man hört, wenn es um die Softwareentwicklung in diesem Bereich geht.
Cross Plattform Ansätze
Heutzutage gibt es zudem auch Nicht-Native Ansätze. Die aktuellsten sind Flutter, React Native und Xamarin.
Flutter basiert auf einer neuen Programmiersprache namens Dart und wird von Google betrieben.
React Native basiert auf JavaScript und hat den Vorteil, das es von Webentwicklern, welche sich bereits mit Webtechnologien auskennen, einfacher erlernt werden kann.
Xamarin basiert auf C# und wird daher gerne im .NET Umfeld verwendet. Wenn man bereits .NET Anwendungen im Einsatz hat, kann es Sinn machen sich mit Xamarin auseinanderzusetzen.
Der Vorteil bei Cross Plattform ist, dass man nur eine Code Basis hat, und diesen dann auf Android, iOS, dem Web (und zum Teil auch anderen Plattformen) nutzen kann.
Fazit
Die Android App Programmierung bringt einige Vorteile. Diese sind:
- eine hohe Performance der Anwendung
- hohe Reichweite, durch die weite Verbreitung des Betriebssystems
- Verfügbarkeit von interessanten Programmiersprachen und Frameworks für die Erstellung
- offene Technologie-Plattform
Herausforderungen:
- separate Code Basis für unterschiedliche Betriebssysteme notwendig (ausser man nutzt Hybride Ansätze wie Flutter oder React Native)
- erfahrene Programmierer notwendig, um gute Anwendungen zu entwickeln
- Mobile UI Kenntnisse erforderlich
Welche Erfahrungen haben Sie gemacht?
Interessante Links:
Mehr zur Android Softwareentwicklung auf Wikipedia
Android App programmieren: ein Tutorial auf programmierenlernenhq
Bilder: Canva
Der Autor: Sascha Thattil arbeitet bei YUHIRO und hilft Unternehmern und Unternehmen beim einfachen Aufbau von Programmier-Teams in Indien. YUHIRO ist ein deutsch-indisches Unternehmen welches IT Firmen, Agenturen und IT Abteilungen Softwareentwickler bereitstellt.
Schreibe einen Kommentar