© iStockphoto.com/allensima, © S&S Media
Funktionalität einer App konzipieren und implementieren

Auf der Erde und in der Wolke


Im Rahmen eines Workshops wird eine App vollständig von der Idee bis zur Store-Reife realisiert. Im ersten Teil haben wir uns über das Konzept und erste Lösungsansätze Gedanken gemacht. Jetzt geht es um die konkrete Implementierung einer App. Die Datenhaltung wird dabei üblicherweise in die Cloud ausgelagert. Die Funktionalität dagegen muss in der App untergebracht werden.

Ziel des Workshops (Kasten: „Überblick: Eine App in drei Teilen“) ist es, den Softwarelebenszyklus einer App von der Idee bis zur Bereitstellung der Applikation für den Kunden darzustellen. Letzteres erfolgt üblicherweise über den App Store des Betriebssystems. Um die Schritte nachvollziehbar zu beschreiben, haben wir ein typisches Beispiel gewählt. Es geht um die Möglichkeit der Positionsbestimmung mittels GPS und den dazu notwendigen Datenaustausch zwischen den Nutzern, um sich gegenseitig zu orten (Kasten: „Beispiel: Tracking und Location-Service“).

Überblick: Eine App in drei Teilen

Wir betrachten den gesamten Entwicklungszyklus für eine mobile Anwendung. Neben der technischen Implementierung ist eine Reihe von vor- und nachbereitenden Tätigkeiten notwendig. Eine gute und umfassende Planung ist Voraussetzung für den Erfolg.

Teil 1: Lebenszyklus einer App

Teil 2: Implementierung: App und Backend

Teil 3: Organisation: Verteilung und Vertrieb

Beispiel: Tracking und Location-Service

Mithilfe der App kann man seine eigene Position orten und die Koordinaten per mobiler Internetverbindung an einen entfernten Server übertragen. Das Szenario: Zuhause können die lieben Angehörigen – sofern wir sie dazu ermächtigt haben – den Weg verfolgen und so bereits alle Vorbereitungen für ein gemütliches Essen treffen. Auch die gegenseitige Ortung zweier mobiler Endgeräte – für ein leichteres wechselseitiges Wiederfinden – ist ein Anwendungsszenario. Ebenso sind Unternehmensanwendungen denkbar: So können in der Logistikzentrale die Standorte mehrerer Transportfahrzeuge verfolgt und auf der Basis dieser Daten die Transportwege zwischen den Kunden optimiert werden.

Im ersten Teil der Artikelserie haben wir auf der Basis der Idee das Konzept erarbeitet, die grobe Architektur der Anwendung entworfen, einen Prototyp der Benutzeroberfläche erstellt und das Betriebssystem, die Programmiersprache, die Entwicklungsumgebung und den Cloud-Anbieter ausgewählt. Unsere bisherigen Ergebnisse und Entscheidungen sind in Abbildung 1 und Tabelle 1 für einen leichten Wiedereinstieg zusammengefasst. Weitere Informationen zum Projekt sind unter [1] zu finden.

Jetzt geht es ans „Eingemachte“: Die Funktionalität der App ist zu implementieren. Die vorgestellte Vorgehensweise ist auf den Entwicklungsvorgang für Apps für andere Anwendungen übertragbar. Folgende Schritte sind notwendig:

  • UI-Entwurf vervollständigen: Pages erstellen und Navigation ermöglichen

  • Funktionalität in der App umsetzen: Benutzeranmeldung, Positionsbestimmung (Geolokalisierung), lokale Datenspeicherung

  • Datenhaltung realisieren: Datenmodell im Backend anlegen und Schnittstelle für den externen Zugriff konfigurieren

  • Datenaustausch ermöglichen: Daten zwischen App (lokal) und Back­end (Server) auf der Basis einer mobilen Internetverbindung austauschen

  • Testen und Prüfen: Ausführlicher Test aller implementierten Funktionen und Ableitung von Erweiterungs- und Verbesserungsbedarf

krypczyk_implementierung_1.tif_fmt1.jpgAbb. 1: Prototyp des UI für die App

Restriktion/Vorgabe

Ausprägung

Rahmenbedingung

Betriebssystem

Windows Phone 8.1

mögliche Erweiterungsoptionen

Android, iOS, Windows 10

Entwicklungsumgebung

Visual Studio 2015

Versionsverwaltung

Visual Studio Online

Programmiersprache

C#

Framework

.NET 4.6

UI-Entwicklungsbasis

XAML (Beschreibungssprache)

Onlinedatenhaltung

BaaS-Plattform apiOmat [2]

Kernfunktionen

Positionsbestimmung

mittels GPS

Benutzerverwaltung

User anlegen, Login

Datenübertragung

zwischen Smartphone und Server

Positionsanzeige

innerhalb einer Map in der App

Personenauswahl

aus der Menge der Benutzer (Berechtigungsprüfung)

Tabelle 1: Rahmenbedingungen und Kernfunktionen der geplanten App

Benutzerschnittstelle

Die Benutzerschnittstelle (User Interface, UI) wurde in weiten Zügen bereits im ersten Teil der Artikelserie dargestellt. Sie ist nunmehr unter Beachtung der zu realisierenden Funktionen zu vervollständigen. Dem Nutzer wird aus Gründen der Übersichtlichkeit immer nur ein minimal nötiges Set an Oberflächenelementen geboten. Die App verfügt nur über eine Seite (Page), die gemäß den Designrichtlinien von Windows Phone in mehrere Sektionen (im Sinne von Registerkarten) horizontal angeordnet wird. Dazu wird das Steuerelement Pivot genutzt. Die einzelnen Sektionen werden als PivotItems bezeichnet (Abb. 2). Es bieten sich folgende PivotItems an:

  • Home: Das ist die Einstiegsseite zur App. Hier erfolgt die Benutzeranmeldung mit Benutzername und Passwort. Ebenso kann ad hoc die aktuelle Position in die Cloud gesendet werden. Auch das zeitgesteuerte Tracking kann über die Home-Seite gestartet werden.

  • Map: Innerhalb einer Karte, beispielsweise Bing Maps, wird die Position des Benutzers angezeigt, die aktuell nachverfolgt wird. Über Vor- und Zurück-Buttons können unterschiedliche Zeitpunkte der Lokalisierung ausgewählt werden. Eine Funktion zum Aktualisieren ruft die neuesten Daten vom Server ab und zeigt die letzte Position an. Eine Erweiterungsoption besteht darin, die Positionsinformationen von mehreren Zeitpunkten zu einer Wegbeschreibung zusammenzufassen und auch so darzustellen.

  • Tracking: Auswahl der Person, die man aktuell orten möchte. In der ersten Version wird angenommen, dass die App nur von berechtigten Personen benutzt wird, d. h. ein umfassendes Berechtigungsmanagement ist noch nicht implementiert (siehe Abschnitt „Erweiterungsbedarf“).

krypczyk_implementierung_2.tif_fmt1.jpgAbb. 2: Das UI – ein „Pivot“-Element mit mehreren Sektionen

Datenhaltung

Die Daten...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang