Architektur

Web App

Die Campus App verfolgt den Web App Ansatz. Das heißt anstatt für Android, iOS und Windows Phone unterschiedliche Quelltexte zu pflegen ist die Campus App mit Webtechnologien (HTML, CSS und Javascript) implementiert.

Ein Nutzer einer Smartphone App hat aus Gewohnheit und Homogenität mit dem Betriebssystem Erwartungen gegenüber einer mobilen Anwendung. Apps sind auf Touchbedienung optimiert und regieren auf Fingergesten wie Swipe oder Drag.

Dem gegenüber stehen die Nutzergewohnheiten des WWWs. Ein Benutzer erwartet eine „Point and Click“-Navigation über Links/URLs. Außerdem werden z.B. Page Reloads als normal angesehen. Diese beiden Interaktionsniveaus koexistieren in Form eines mobilen Browsers auf einem Smartphone. Durch Tools wie Phonegap verschwimmen die Grenzen, das Interaktionsniveau des World Wide Webs wird im Kontext einer App dem Nutzer präsentiert.

Dieser Umstand macht es unerlässlich mit den zur Verfügung stehenden Webtechnologien, das beim Nutzer bekannte und erwartete (native) Verhalten nachzuahmen um diese Erwartungen zu erfüllen und die Akzeptanz zu verbessern.

CSS und Javascript bieten die Möglichkeiten ein natives “Look-and-Feel” umzusetzen. Hierfür werden in erster Linie hardwarebeschleunigte Anmationen verwendet (erzwungen durch translate3d), sowie gängige Funktionen in Aussehen und Handhabung (Drag-and-Drop Off-Canvas) nachgeahmt.

../_images/niveau.png ../_images/phonegap.png

Struktur

Um zu vermeiden, dass die App direkt mit diversen Hochschuldiensten kommunizieren muss, verwendet die App einen Backend-Service, der die Daten aggregiert und über ein einheitliches Interface bereitstellt. Der Service ist sowohl für das Zusammentragen/Vermitteln der Informationen als auch für deren Aufbereitung und Konvertierung verantwortlich. Darüber hinaus hat dieser Service die Möglichkeit selbst Daten in einer Datenbank zu speichern und kann so Informationen zur Personalisierung persistieren und der App, sowie weitere Hochschuldiensten, die Interesse an Personalisierungsinformationen haben bereitstellen.

../_images/structure.png

Inhalt