Checkliste für die Android App-Entwicklung

Image for post
Image for post
Photo by Glenn Carstens-Peters on Unsplash

Wer schon eine App veröffentlicht hat, kennt den normalen Zyklus vom Kickoff bis zum Xten Crashreport.

Gerade in der Zeit der ersten Veröffentlichung, welche im Normalfall recht hektisch werden kann, tauchen viele Fragen auf.

Macht es nicht Sinn, viele dieser Fragen schon beantwortet zu haben, um die Hektik so etwas im Zaum zu halten?

Ich denke JA!

Ich habe hier eine Checkliste erstellt, welche für Entwickler und Projekt-Verantwortliche hoffentlich eine kleine Hilfe sein kann, BEVOR das nächste App-Projekt startet.
Bitte beachte, das einige der Punkte bei positiver Beantwortung, wie z.B. das automatische Deployment gleich umgesetzt werden sollten.

Mindestversion

  • Welche Mindestversion von Android soll unterstützt werden?
    Je älter die unterstützte Version, desto mehr Geräte werden unterstützt.
    Beachte jedoch, dass dadurch auch das Absturzrisiko steigt.
    Im Android Studio bietet der Projekt Wizard eine kleine Entscheidungshilfe unter Help me choose.

Namen

  • Wie soll die App heißen im Playstore?

Ordnerstruktur

  • Werden Ordner nach Funktion (wie z.B. Activities, Fragments, Models…) oder aber Ordner nach App-Funktion angelegt (wie z.B. Login, Map, Feedback, Bluetooth…)

Layouts

  • Soll die App für Portrait und Landscape optimiert werden?

Activity/Fragmente

  • Soll ein “One-Activity”-Ansatz mit vielen Fragmenten zum Einsatz kommen, wie er z.B. bei sehr kleinen Apps manchmal Sinn macht?

Emulator

  • Haben alle Entwickler den selben Emulator bzw. ist sich auf eine Konfiguration welche genutzt werden soll, geeinigt worden?
    Bedenkt hierbei, das der Emulator manche Funktionalitäten nicht unterstützt und dadurch z.B. das Testen von der Arbeit mit Beacons im Emulator nicht möglich ist.

Distribution

Wer ist zuständig für die Veröffentlichung im PlayStore?

  • Lädt dein Kunde die App selber hoch und kümmert sich um den Store-Eintrag?

Wo liegt der Keystore (.jks)?
- Sicherlich kann man diesen mit in das App-Repo einchecken, allerdings macht es Sinn diesen in einem extra Repo aufzubewahren, da dieser Schlüsselbund ja Schlüssel für versch. Projekte beinhalten kann. Dieses Extra-Repo kann z.B. als Sub-Repo mit in das App-Repo integriert werden.

Continous Integration und Deployment

  • Soll das publizieren automatisch erfolgen?

Crashreporting

  • Kommt ein externes Crashreporting Tool, wie z.B. Firebase Crashlytics in Frage oder muss es aufgrund geltender Datenschutzbestimmungen o.ä., ein selbst gehostetes Tool wie z.B. Acra werden.

Internationalisierung

  • Welche Sprachen werden unterstützt?

Code Convention

  • Wie werden Namen und IDs in XML-Dateien benamst?
    Die Naming Convention in Layouts und Ressourcen-Files ist leider noch nicht wirklich standardisiert. Hier sollte sich auf einen Standard geeinigt werden, wie z.B. Camel-Case oder mit Understrichen.
    Zudem sollte man sich, wenn gewollt, auf eindeutige Präfixe wie z.B. txt für Textfelder oder rv für Recyclerview einigen.

Flavours

  • Wird es die App in versch. Ausprägungen geben?
    Freemium, Paid, Pro, Dev, Stage…

Accounts

Falls die App mit Accounts arbeitet:

  • Erstellt sich jeder Entwickler einen eigenen Account oder wird ein gemeinsamer Account von allen genutzt?

Rechte

Testing

  • Sind Unit-Tests nötig?

Ich hoffe ich konnte mit der Checkliste ein wenig Input liefern und für das nächste App-Projekt die Effizienz, wenigstens ein klein wenig, steigern.

Je nach Projekt-Art ist diese Liste sicher nicht vollständig. Wenn es wichtige, fehlende Punkte gibt, könnt ihr diese gerne hier kommentieren.

Written by

Freiberuflicher Softwareentwickler in der Pfalz mit Spezialisierung auf Android, Backend, API mit Kotlin und Java

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store