Den gleichen Programmcode für Android und iOS verwenden, geht das überhaupt? Mithilfe von Xamarin Forms wurde eine App entwickelt, welche eine gemeinsame Codebasis hat und nativ auf den verschiedenen Betriebsystemen läuft. Sowohl die Applikationslogik als auch die Benutzeroberflächen müssen nur einmal definiert werden.
Ausgangslage
Für das Definieren und Erfassen von Daten verwendet der Verein Fussverkehr Schweiz das Open-Source-Framework OpenDataKit (ODK). ODK bietet Lösungen zum Erstellen von Formularen, zum Sammeln von Daten mittels Smartphones und zum Aufbereiten dieser Daten auf einem Server an. Die vom ODK-Projekt zur Verfügung gestellte App heisst "ODK Collect" und wurde bisher von Fussverkehr Schweiz eingesetzt. ODK Collect wird nur für Android angeboten, ausserdem ist die App nicht benutzerfreundlich und es ist eine Schulung nötig, um sie sinnvoll einsetzen zu können.
Ziel des vorliegenden Projekts war es, eine App zu entwickeln, die sowohl Android als auch iOS unterstützt und alle durch ODK spezifizierten Funktionen implementiert. Der Funktionsumfang der App sollte basierend auf den Anforderungen von Fussverkehr Schweiz denjenigen von ODK Collect erweitern.
Umsetzung
Für die Entwicklung der App wurde Xamarin Forms eingesetzt, eine Technologie, welche die Entwicklung plattformunabhängiger Apps ermöglicht. Zu den Kernfunktionen der konzipierten App gehört das Herunter- und Hochladen der Befragungsdaten sowie das Interpretieren der Befragungsvorlagen nach dem OpenRosa (ODK) XML Standard.
Die interpretierte Formulardefinition wird dem Benutzer als Eingabeformular präsentiert. Ein wichtiges Formularelement ist die Anzeige resp. Erfassung des aktuellen Standorts, wobei die App sowohl Standard- als auch Offline-Karten unterstützt. Als Offline-Kartenanbieter wird in diesem Projekt die App Maps.Me verwendet, welche das Herunterladen und Verwalten des benötigten Kartenmaterials ermöglicht. Die Anbindung der App an Maps.Me erfolgte über eine vorhandene API.
Im Vergleich zur ODK-Collect-App bietet die hier entwickelte App eine bessere User Experience sowie eine schnellere Anmeldung mittels QR-Code.
Fazit
Das Verwenden von Xamarin als Entwicklungsplattform hat sich bewährt. Alle Kernfunktionen konnten damit plattformübergreifend umgesetzt werden. Das Endergebnis des Projektes sind je eine native App für iOS und Android, welche über identischen Programmcode verfügen und nun in den jeweiligen App-Stores veröffentlicht werden können. Somit ist jetzt sowohl eine Veröffentlichung und damit breite Nutzung der App, als auch eine unkomplizierte Weiterentwicklung für Android und iOS möglich. Obwohl die App spezifisch nach den Bedürfnissen von Fussverkehr Schweiz entwickelt wurde, kann diese mit allen ODK-kompatiblen Diensten verwendet werden.