4 wichtige Punkte für dein nächstes Android-Projekt

Unabhängig davon, wie fortschrittlich und effizient diese Tools eingesetzt werden, ist die Planung und das Verständnis der Probleme, auf die man während der Entwicklung stoßen könnte, immer noch der wichtigste Faktor. In diesem Artikel betrachten wir einige wichtige Punkte und Probleme, die Entwicklungsteams bei der Erstellung einer Android-Anwendung berücksichtigen sollten.

Die Entwicklung von Android-Anwendungen für den kommerziellen Einsatz ist im Vergleich zu den Vorjahren deutlich einfacher geworden. Es gibt zahlreiche Frameworks, die entwickelt, verfeinert und weit verbreitet sind. Es gibt viele Möglichkeiten, den App-Entwicklungsprozess zu verbessern, zum Beispiel durch Projektmanagement-Tools und kollaborative Schnittstellen-Design-Tools.

Kurze Deadlines und Zeitvorgaben

Wie bei jedem Entwicklungsprojekt müssen wir den verfügbaren Zeitraum oder die Deadline für das aktuelle Projekt berücksichtigen. Bei sehr knappen Fristen ist Planung und deren Einhaltung entscheidend für den Erfolg des Projekts. Es ist wichtig, die Anforderungen nicht zu übertreiben und realistische Ziele für den gegebenen Zeitrahmen zu setzen. Andernfalls wird die Anwendung nicht skalierbar sein und schwer zu warten.

Schnellere Entwicklung führt oft dazu, dass Code Reviews und allgemeine Funktionsüberprüfungen ausgelassen werden. Dies kann dazu führen, dass implementierte Funktionen fehlerhaft sind.

Bei knappen Fristen ist es wichtig, je nach Größe der App konkrete Anforderungen zu definieren, um die Deadline einzuhalten. Kurze Entwicklungszeiten erfordern eine präzise Definition der Anforderungen. Rasante Designänderungen und Anforderungen während des Entwicklungsprozesses sind das Schlechteste, was einem Entwicklungszyklus passieren kann. Die Arbeit des Entwicklers wird dadurch viel schwieriger.

Gründe:

  • Dokumentation: Änderungen sind nicht so gut dokumentiert wie die ursprünglichen Anforderungen. Der Entwickler könnte eine Funktion übersehen oder zusätzliche kognitive Belastung erfahren, was zu schlechterem Code und einer Verzögerung der gesamten Entwicklung führen kann.
  • Refactoring: Refactoring muss langsamer durchgeführt werden als die ursprüngliche Entwicklung einer Funktion, da sich der Entwickler mit bereits geschriebenen Code auseinandersetzen muss.
Tipp: Wenn nur wenig Zeit für Konsultationen mit Entwicklern über Anforderungen besteht, konzentriere dich auf die beiden wichtigsten Punkte: Unterschiede zwischen Android-API-Versionen und Hardware.

Unterschiedliche API-Versionen

Der API-Level ist ein Wert, der die Fähigkeiten des Android-Frameworks darstellt. Jede Ebene enthält einen separaten Satz von Paketen und Klassen, verschiedene Arten von XML-Elementen zur Deklaration von Attributen in Manifestdateien und Ressourcen, einen Satz von Intents und schließlich einen Satz von Berechtigungen, die eine Anwendung benötigt.

Android-Geräte haben je nach Hersteller und Alter unterschiedliche maximale API-Levels. Das bedeutet, dass die Fähigkeiten von Anwendungen für verschiedene Geräte stark variieren können. Die App-Funktionen und das Design müssen daher an das Unterstützte angepasst werden.

Beispiel:

In Android 11 wurde eine Änderung der Berechtigung zur Verfolgung von nahe gelegenen Geräten über WLAN-APIs und Bluetooth-Geräten eingeführt. Dies führte zu einem Problem: Play Store-Nutzer kannten diese API-Änderungen nicht. Wenn sie sahen, dass die App ihre Standortdaten für die Suche nach Bluetooth-Geräten benötigte, gaben sie schlechte Bewertungen ab oder löschten die App sogar.

Lösung:

  • Entwickler müssen sich über Updates informieren und das Management über potenzielle Probleme aufklären.
  • Das Design-Team sollte eng mit den Entwicklern zusammenarbeiten, um UI/UX-Überarbeitungen in späteren Phasen des Entwicklungszyklus zu vermeiden.
  • Bei niedrigeren API-Versionen haben Entwickler mehr Freiheit bei der Implementierung verschiedener Funktionen, die Bluetooth, WLAN, Standort und Kamera verwenden.
Tipp: Um die bestmögliche Benutzererfahrung für so viele Nutzer wie möglich zu gewährleisten, können Recherchen zu den API-Funktionen durchgeführt werden. Auf Grundlage dieser Recherchen können dann unterschiedliche Anwendungsabläufe und Designs für bestimmte API-Versionen erstellt werden.

Schreiben und Ausführen von Tests

Tests sind ein Grundpfeiler des Projektzyklus. Sie bieten viele Vorteile und helfen Entwicklern enorm. Es gibt verschiedene Möglichkeiten, während der Entwicklung einer App Tests durchzuführen.

  • Unit/UI-Tests: Diese sind wichtig, da der Code in der Regel viele miteinander verbundene Elemente enthält. Durch die Änderung eines Teils des Codes kann es zu Regressionen kommen. Unit/UI-Tests helfen den Entwicklern sicherzustellen, dass kein anderer Teil der App während der Featureentwicklung kaputt gegangen ist.
  • Nachteile: Die Erstellung von Unit/UI-Tests erfordert viel Zeit und sie können knifflig sein. Falsch geschriebene Unit/UI-Tests liefern falsche Ergebnisse (falsche Positive oder Negative) und verwirren die Entwickler. Daher ist es wichtig, Zeit und Ressourcen für qualitativ hochwertige Tests einzuplanen.
Tipp: Für sehr kleine oder zeitlich begrenzte Projekte kann es sinnvoller sein, keine Unit/UI-Tests zu schreiben, da es nicht viel zu überwachen gibt.

  • Manuelle Testdurchführung: Wenn die Entwicklung abgeschlossen ist, sollte die App manuellen Testern zur Verfügung gestellt werden.
Wichtig:

  • Vielfalt: Es sollten verschiedene Android-APIs und Bildschirmgrößen getestet werden. Da es viele verschiedene Android-Geräte gibt, muss jeder von ihnen eine gute Benutzererfahrung haben.
Tipp: Um die größte Vielfalt zu gewährleisten, beschaffen Sie Geräte in den Größen groß (Tablets und größere Telefone), mittelgroß (Standardhandys) und klein (kleinere Handys). Dadurch werden alle Bildschirmgrößen abgedeckt und die Skalierbarkeit der Layouts wird überprüft.

  • Test Automatisierung: Dieser Prozess ist komplexer als manuelle Tests und zielt darauf ab, Benutzergeschichten zu testen. Obwohl Entwickler Teile von Benutzergeschichten durch Unit/UI-Tests abdecken, werden diese nicht gemäß den tatsächlichen Benutzergeschichten geschrieben.
Vorteil: Ein korrekter Anwendungsablauf ist entscheidend, da ein fehlerhafter Ablauf zu einer schlechten Benutzererfahrung führen kann. Diese Tests werden in der Regel nach dem vollständigen Release der App durchgeführt. Bei der Planung ist es notwendig, Zeit für die Behebung von Fehlern und Problemen einzuplanen, die bei den Tests auftreten.

Tipp: Die frühzeitige Durchführung von Anforderungs-Tests ermöglicht es Ingenieuren, Probleme in frühen Entwicklungsphasen zu finden und spätere Refactorings zu reduzieren.

Abhängigkeit von anderen Ressourcen

Anwendungen bestehen in der Regel aus einer Art Backend oder SDK-Implementierung. Ein vollständiges oder zumindest vollständig geplantes Backend hilft Entwicklern bei der Planung ihrer Implementierung.

Ein schlecht gestaltetes Backend kann zu vielen Problemen auf der App-Seite führen.

Beispiel:

Wenn die API-Antwort eine Liste von Integern als einen durch Kommas getrennten String anstelle einer Liste von Ganzzahlen sendet, müssen App-Entwickler eine Wrapper-Funktion schreiben.

Dies klingt für Nicht-Entwickler kompliziert. Stellen Sie sich nun vor, wie schwierig es ist, dieses Problem dem Manager zu erklären. Solche kleinen Probleme summieren sich und senken die Effektivität der Entwicklung.

Tipp:

  • Stellen Sie sicher, dass der Entwickler alles hat, was er zum Codieren der App benötigt.
  • Wenn das Projekt beispielsweise die Kopplung eines Bluetooth-Geräts mit einem Telefon umfasst, sollten dem Team (iOS- und Android-Entwickler sowie ein Tester) drei Bluetooth-Geräte zur Verfügung gestellt werden.

Fazit

Bei der Arbeit an einem Android-Entwicklungsprojekt ist es wichtig, sich auf Zeit, APIs, Tests und verfügbare Ressourcen zu konzentrieren.

  • Halten Sie sich an Deadlines und erstellen Sie einen effizienten Plan für Ihr Team.
  • Seien Sie sich der verschiedenen API-Versionen bewusst und halten Sie sich über alle Änderungen auf dem Laufenden.
  • Stellen Sie sicher, dass eine Vielzahl von Tests ordnungsgemäß geschrieben und durchgeführt wird.
Kontaktieren Sie uns mit Details zu Ihrem Projekt und erfahren Sie, wie wir Ihnen helfen können!