Android-App-Entwicklung.

Wir bieten Ihnen fundierte Kenntnisse in der nativen Android-App-Entwicklung, können durch unsere Vorerfahrung detaillierte Angebote stellen und bieten Ihnen auch die Möglichkeit, die App von Profis designen zu lassen und auf die Usability und Funktionalität hin zu testen.

Entwickeln Sie jetzt mit uns Ihre Android-App!

Zur iOS-Entwicklung

Java

Android

Kotlin

Mehr als zwei Drittel setzen auf Android

Laut GlobalStats auf statcounter.com beträgt der Anteil von Android an mobilen Betriebssystemen weltweit mehr als 72% (Stand August 2021). Dementsprechend wichtig ist es auch, gerade für Android-User eine grandiose App anzubieten, welche das native Feeling in einer gut designten und gut durchdachten App durchleben können. Natürlich ist auch iOS (mehr als 26%) keinesfalls zu vergessen und sollte ebenfalls bei jeglicher App-Umsetzung für Endkunden mitbedacht werden.

Wie in einem unserer Blog-Beiträge „Nativ, hybrid oder als Web-App… Welche Variante soll ich wählen?!“ zu lesen ist, sollte man sich vor der Entwicklung der App genau überlegen, welche Variante gewählt werden soll. Ist es wirklich gerechtfertigt, Zeit und Geld für die Entwicklung von zwei mächtigen, nativen Apps aufzustellen, oder sollte es doch eher gleich eine hybride Lösung sein? Brauche ich denn überhaupt Features, die nur nativ umgesetzt werden können? Vielleicht reicht ja auch eine Web-App, die auch auf Tablets und Desktop-Rechnern angezeigt werden kann?

Dies sind alles Fragen, die wir mit Ihnen gerne in einem gemeinsamen Gespräch in einem Workshop oder in einem kostenlosen Erstgespräch beantworten möchten.

Ein bisschen Android verstehen

Sollte es schließlich wirklich die native App-Lösung werden, so möchten wir Ihnen hier ein paar Dinge zu der Android-Entwicklung präsentieren.

Kotlin versus Java

Android-Apps werden heutzutage in Kotlin und/oder in Java geschrieben. Die jüngere Kotlin-Vorgehensweise erfreut sich steigender Beliebtheit (sie etabliert sich bereits in der iOS- und Windows-Entwicklung) und bietet einige Vorteile, wie Code-Einsparungen, Nullpointer-Problem-Beseitigung oder Einführung einer hohen Kompatibilität. Ein weiterer Vorteil ist, dass Kotlin mit Java kompatibel ist. Man kann also ein Code-Repository mit beiden Sprachen aufziehen und jeweils auch andere Klassen nutzen.

Trotz vieler Vorteile von Kotlin muss man aber dennoch (noch) fairerweise sagen, dass es viel mehr Java-Programmierer und -Programme gibt und es daher auch viel mehr Dokumentation aufgrund der größeren Community gibt. Außerdem ist Java-Code zwar etwas komplexer aber wesentlich übersichtlicher strukturiert und aufgebaut. Außerdem sind die resultierenden APKs (Android Application Package, siehe mehr in der Entwicklungsdokumentation von Android) meist wesentlich kleiner, da Kotlin mehrere Bibliotheken und Runtime-Code mit in die APK packen muss.

Typischer Aufbau und Komponenten

Um auch kurz auf den Aufbau von Android-Applikationen einzugehen, möchten wir auf die vier Grundbausteine beziehungsweise Komponenten von Android Apps eingehen. Diese sind:

  • Activities, also typischerweise Screens von Apps, womit die User interagieren (hier kommt die Frontend-Entwicklung und das Designen ins Spiel),
  • Services, hier meint man jegliche Art von Hintergrundaktivität, die die Applikation benötigt,
  • Broadcast Receivers, welche Apps aufwecken können, um ihnen gewünschten Content zu liefern,
  • Content Providers, welche für das Handeln von geteilten Daten in lokalen Datenbanken oder dem Dateisystem verantwortlich sind.

Um das User Interface, welches wir aus dem vorliegenden Design extrahieren, zu implementieren, schreiben wir sogenannte Fragmente, welche ein zugehöriges XML-Layout-File besitzen. Das Layout des Screens wird also in XML definiert und die Fragment-Klasse ist für das Anzeigen der Daten als „Controller“ verantwortlich. Schließlich implementiert man dann außerdem noch meistens ein Datenmodell dazu, welches die Daten zur Anzeige vorbereitet und auf User-Interaktionen reagiert.

Daten werden zumeist über ein Webservice über das Backend in der Cloud gespeichert (wir verwenden hierfür meistens AWS AppSync mit GraphQL), aber oft auch per Cache zwischengespeichert, um Bandbreite und Network-Traffic möglichst niedrig zu halten, oder gleich lokal persistent gespeichert. Hier verwenden wir normalerweise die Objekt-Mapping Bibliothek namens „Room“, welche die unterliegenden SQL-Tabellen und -Abfragen abstrahiert und somit das Arbeiten damit erleichtert.

Testing in Android

Um schließlich den geschriebenen Code auch testen zu können, kommen vor allem folgende, erprobte Ansätze ins Spiel:

Eine Android App entwickeln

Sie sind interessiert daran, mit uns zusammen eine Android App zu entwerfen, zu designen, zu implementieren, zu testen und zu launchen? Dann melden Sie sich bei uns, um den grünen Androiden um eine tolle App glücklicher zu machen. Wir freuen uns!

Arrow-up