Entwicklung eines Prototyps einer Mobile App für Paketzusteller
Vorbereitend zu einer künftigen Integration von Live-Navigation während der Zustellung von Paketen wurde untersucht, inwiefern die hierfür gewählte Plattform „Mapviewer“ in die bestehende Xamarin-App integriert werden kann. Da sich im Zuge dieser Analyse erhebliche Probleme herausgestellt haben, wird infolgedessen ein nativer Prototyp für Android entwickelt.
Der Prototyp orientiert sich dabei an den gängigen Konzepten des „Modern Android Development (MAD)“ mittels Kotlin, Gradle (Kotlin-Script), MVI und Jetpack Compose. Im Prototyp enthalten sind eine vollumfängliche Anbindung der Datawedge Intent API der verwendeten Zebra Technologies Scanner Plattform sowie die Karten- und Navigationskomponente „Mapviewer“ für die Anzeige der Zustellziele und der Live-Navigation zum nächsten geplanten Zustellziel. Besondere Herausforderung war hierbei die Verbindung der Activity- und Fragment-basierten Mapviewer-Komponenten mit dem moderneren Jetpack-Compose Framework.
Der Prototyp ist nach dem Konzept der Onion Architecture konzipiert und verwendet einen reaktiven Aufbau auf Basis des MVI-Ansatzes. Ebenfalls wird ein weitestgehend deklarativer Ansatz mit Code Generation auf Basis von KSP während des Build-Vorgangs gewählt, um Boilerplate-Code zu reduzieren.
Des Weiteren enthält der Prototyp Unit Tests und Instrumentation Tests zu allen enthaltenen Komponenten sowie Previews für Jetpack-Compose basierte UI-Komponenten.
Der Prototyp ist Basis für eine künftige Neuentwicklung der bestehenden Xamarin-App zur Verbesserung der Performance und der Integration neuer Funktionen.