Zum Inhalt
Zum Footer

Android: eine Plattform für mehr als nur Smartphones

Die meisten Menschen in Deutschland denken an Smartphones, wenn der Begriff Android fällt. Dort ist das von Google entwickelte Betriebssystem allgegenwärtig, sind doch immerhin fast 80% der verkauften Smartphones im vierten Quartal 2019 Android-Geräte. Weltweit gesehen sind der Anteil regelmäßig sogar noch höher. (Quelle: Kantar Worldpanel, Stand: Mrz. 2020).

Android auf Smartphones zu beschränken greift jedoch zu kurz. Allein Tablets sind schon ein Markt für sich, der teilweise andere Anwendungen nötig und möglich macht. Daneben wird Android auch als Betriebssystem für Smart TVs (Fernseher), Smartwatches (Armbanduhren), vernetzte Kleingeräte und sogar Autos angeboten. Dadurch ändert sich das Anwendungsspektrum erheblich.

Grundsätzlich basiert Android auf dem Linux-Kernel, allerdings ohne die für eine Linux-Distribution notwendigen GNU Tools. Das heißt auch, dass theoretisch, und unter bestimmten Voraussetzungen, Programme für Android mit den gängigen Compilern erstellt und beispielsweise in C++ geschrieben werden können. Da das jedoch sehr umständlich wäre und viele Bestandteile des Systems, anders als bei Linux, in Java geschrieben wurden, wird Android-Entwicklung üblicherweise anders angegangen. Android stellt eine Java Virtual Machine (JVM) zur Verfügung, auf der die Apps laufen.

Moderne Softwareentwicklung für Android: Sprachen und Tools

Google stellt seit 2013 eine eigene Integrierte Entwicklungsumgebung, Android Studio, zur Verfügung. Dort wird alles gebündelt, was zur komfortablen Android-Entwicklung notwendig ist. Hier können Views gestaltet werden, hier wird Code geschrieben - und hier kann getestet werden. Der Code soll hinterher auf der JVM lauffähig sein. Unterstützt wird natürlich Java, über viele Jahre die Standard-Sprache für Android-Apps. Ebenfalls unterstützt, und inzwischen auch von Google bevorzugt, ist Kotlin, eine moderne Programmiersprache für die JVM. Wer heute eine neue App entwickelt, sollte auf Kotlin setzen. Der Programmcode wird in Kotlin in der Regel deutlich kürzer ausfallen, ohne die Lesbarkeit zu erschweren. Weniger Codezeilen heißt auch, weniger Möglichkeiten, Fehler zu machen. Gleichzeitig stehen die umfangreichen Java-Bibliotheken auch für Kotlin-Programme zu Verfügung - die Vorteile überwiegen.

Apps auf Profi-Niveau: Merkmale und unterstützende Bibliotheken

Professionalität zeichnet sich dadurch aus, dass Prioritäten klar gesetzt werden. Wer Profi in seinem Gebiet ist, weiß, worum man sich selber kümmern muss und wo man auf die Arbeit anderer aufbauen kann. Das gilt auch für die professionelle Entwicklung für Android. Es ist nicht notwendig, das Rad für jedes Projekt neu zu erfinden. Für Java und Kotlin sind eine Vielzahl von Bibliotheken verfügbar, die die Arbeit deutlich erleichtern können. Gleichzeitig gehört es aber auch dazu, schlechte Bibliotheken gezielt auszusortieren und durch eigenen Code zu ersetzen.

Wir verfolgen diesen Ansatz der Professionalität in allen Projekten und greifen dabei auf die besten und ausgereiftesten Tools und Bibliotheken zurück.

Alle Anwendungen werden so geplant, dass sie automatisiert testbar sind. Diese Testfälle vermeiden unnötige Fehler in der Entwicklungsphase oder durch Updates einzelner Bibliotheken. Architektonisch wird die Testbarkeit durch eine saubere Trennung von Daten, Modell und Design unterstützt. Um dies zu erreichen, werden moderne, skalierbare und wartungsfreundliche Apps in der Regel auf Grundlage des Model-View-ViewModel (MVVM) Patterns entwickelt.

Für die Nutzer ist die Handhabung und Reaktionsgeschwindigkeit der App von großer Bedeutung. Ein Programmierparadigma, das sich an den Datenflüssen orientiert, ist die reaktive Programmierung. Gerade wenn Datenbanken über das Internet abgefragt und verschiedene Quellen verwendet werden, ist Asynchronität wichtig, um zu verhindern, dass Apps blockieren, während auf eine Antwort gewartet wird. Reactive Extensions (RX) ist eine Bibliothek, die diese Art der asynchronen Programmierung ermöglicht.

Visuell ansprechend und intuitiv nutzbar wird eine App durch ein gutes, ausgewogenes Design und eine stringente Menüführung. Mit Material Design und Navigation Components stellt Google zwei spezialisierte Hilfsmittel, eine Designsprache und eine Bibliothek, zur Verfügung, die genau das möglich machen. Wir legen großen Wert auf die "User Experience", da dadurch die App ihren Wert erhält. Ein zufriedener Nutzer bleibt dabei und macht ungefragt Werbung.

Professionelle Android-Apps vereinfachen den Alltag des Nutzers, schaffen Mehrwerte und bieten dabei ein angenehmes Nutzungserlebnis.