Android-Apps im Jahr 2025 entwickeln
(dev.to)Einführung in die aktuelle Entwicklungsumgebung für Android-Apps
- Build: gradle
- Build-Konfiguration: convention plugin
- Abhängigkeitsverwaltung: version catalog
- Einführung von build cache
- Analyse der Build-Performance: build-scan
- Modulstruktur: Trennung nach Features
- Networking - retrofit
- JSON-Mapping - kotlinx serialization
- Persistente Datenspeicherung - jetpack datastore, room
- DI - koin
- Image Loader - coil
- UI - compose
- Kommunikation zwischen View und ViewModel - flow
- Code-Qualitätsmanagement - ktlint , konsist
- Unit-Tests - junit 4
7 Kommentare
Vielen Dank für den guten Beitrag.
Als jemand, der irgendwie als Build Engineer für Android-Apps gelandet ist, würde ich dazu Folgendes anmerken..
Auch wenn es sehr groß oder komplex ist, sollte man gradle verwenden... (blickt in die Ferne)
Für sehr große oder komplexe Projekte laufen derzeit die folgenden Projekte, um die Build-Performance von gradle zu verbessern. Wenn ihr gradle in einem großen Projekt nutzt, ist es sinnvoll, frühzeitig die Migration vorzubereiten.
Ich persönlich finde nicht, dass es einen zwingenden Grund gibt, Architektur-Layer im Build-System offenzulegen.
Bei der App, die ich betreue, legen wir feature-api / feature-impl als Module im Build-System offen.
Mit diesem Aufbau wirken sich Code-Änderungen in feature-impl nicht auf andere Module aus, die feature-api referenzieren (Abhängigkeitsisolierung). Das hilft erheblich bei incremental builds und einer höheren build cache hit rate.
Ich denke, dass hier Googles Entscheidung eine große Rolle gespielt hat.
Allerdings basiert das kürzlich veröffentlichte Screenshot-Testing-Plugin auf JUnit5.
Wenn man allerdings die neuesten Technologien (?) einführen will, wird man nicht selten von JUnit4 ausgebremst, daher habe ich persönlich den kleinen Wunsch, dass auf JUnit5 migriert wird.
https://docs.gradle.com/develocity/test-distribution/
Mit
junit-vintage-enginelassen sich JUnit4-Tests zwar auch ohne große Änderungen unter JUnit5 ausführen, der Overhead ist jedoch ziemlich hoch. (ungefähr 20 % langsamer)Oh, was für eine Ehre für die Familie Huh.
Ich bin Wilson!
Hm … als Randbemerkung lässt sich beobachten, dass in den letzten Jahren die meisten Startups auf Flutter setzen, während große Unternehmen wie META und OpenAI nativ entwickeln – ein merkwürdiges Phänomen …
Ich wollte dieses Jahr ohnehin einmal versuchen, eine Android-App zu entwickeln, daher war das eine hilfreiche Orientierung. Haha