Optionist App - Entwicklung für iPhone und iPad

illustrations illustrations illustrations

Optionist App - Entwicklung für iPhone und iPad

Published on Jul 26, 2019 by Antonio Agudo

Motivation

Die Optionist App wurde aus dem Bedürfnis geboren, Menschen in ihrer Freizeit neue Dinge ausprobieren zu lassen, die sie noch nie zuvor versucht haben. In der finalen Version der für Apples iPhone und iPad programmierten mobile App konnten über 500 solcher Alltagsabenteuer in einer Gamification orientierten Oberfläche erlebt werden.

Ein integriertes Social network sorgte zusätzlich dafür, dass sich die Benutzer der App auch untereinander austauschen konnten.

Das Splashscreen Logo der Optionist App: Make life your playground

Sämtliche Entwicklunsgarbeit wurde hierbei von mir als alleinigem Entwickler vorgenommen. Marketing und Redaktion wurden maßgeblich durch meinen Mitgründer Sebastian Kleinsorge betrieben.

Back-End Technologie

Im Back-End wurde hierbei besonders auf maximale Geschwindigkeit hin optimiert. Das notwendige Umsetzen einer Tabellenstruktur für das enthaltene Social network und die potenziell massiven gleichzeitigen Anfragen der mobile Clients machten frühe performance Tests notwendig die in den JUnit Test-Suites einer CI/CD Umgebung auf Basis von Jenkins berücksichtigt wurden. So konnte garantiert werden, dass die durchschnittlich erreichten Requests pro Sekunde auch bei Code Änderungen immer über den festgelegten Performance basierten Qualitätsmetriken lagen, bevor der Code auf das Produktivsystem aufgespielt wurde.

Die REST-Schnittstelle im Back-End wurde aus diesem Grund über das vergleichsweise leichtgewichtige Dropwizard Framework in Java realisiert, welches an eine PostgreSQL Datenbank angebunden wurde. Der Zugriff auf die Datenbank erfolgte, statt über einen konventionellen ORM Mapper wie Hibernate, über das simpler strukturierte, aber dafür schnellere JDBI.

Die angemeldeten Benutzer Sessions der mobilen Clients wurden durch zustandslose JWT Tokens zugeordnet, welche über SSL/TLS gesicherte Verbindungen mit dem Back-End kommunizierten. Ab Clients mit iOS 9 wurde zusätzlich HSTS unterstützt, um die Verbindungen sicherer gegen Protokoll Attacken zu machen.

Front-End Technologie

Die Optionist App wurde als Universal App für iPhone und iPad entwickelt. Die Programmiersprachen Objective-C, sowie das 2016 noch junge Swift wurden verwendet, um die mobile App zu realisieren. Hierbei kamen als Entwicklungsumgebung Xcode und AppCode zum Einsatz. Komponenten wurden über Cocoapods eingebunden.

Video: Optionist App Walkthrough

Click to play video

RTL Hessen probiert die Optionist App aus

Thema: Langeweile in der Freizeit? Die Optionist App hilft mit kreativen Aktionen. Wurde auf RTL Hessen ausgestrahlt am Montag 26 September 2016, 18:00 Uhr.

RTL Hessen