HTW Dresden App
Für die Studierenden der Hochschule für Technik und Wirtschaft Dresden (HTW) wurde eine neue App entwickelt. Mit der HTW Dresden App behalten die Studierenden den Überblick über erbrachte Leistungen, anstehende Prüfungen, den Speiseplan und den Campus ganz allgemein – frei nach dem Motto der Fachhochschule: "praktisch mehr erreichen".
Der Auftraggeber: Hochschule für Technik und Wirtschaft Dresden
Die HTW Dresden ist mit knapp 5.000 Studierenden und rund 870 Mitarbeiterinnen und Mitarbeitern die zweitgrößte Hochschule der Stadt Dresden. Kurz nach der Wiedervereinigung, im Jahr 1992, gegründet, hat sich die Fachhochschule schnell etabliert und bietet inzwischen 36 Studiengänge in acht Fakultäten an. International ist die HTW Dresden mit etwa 145 Hochschulen vernetzt und fördert so den Austausch von Studierenden und Lehrenden.
Die App: die Inhalte
Die App erfordert ein Login, um auf die persönlichen Daten zugreifen zu können. Über ein klar strukturiertes Menü ist der Zugriff auf die verschiedenen Bereiche der App schnell und einfach möglich. In der aktuellen Version gibt es sieben Bereiche, dazu eine Übersicht mit den wichtigsten Inhalten sowie Einstellungen, um die App an den persönlichen Studienalltag anzupassen.
In den verschiedenen Bereichen kann sich der Studierende wichtige Informationen zu seinem Studium und dem Alltag als Studierender anzeigen lassen. Das ist zunächst der persönliche Stundenplan, der in einer Listenansicht dargestellt wird – die Daten dazu ermittelt die App automatisch anhand der Studiengruppe des Studierenden. Außerdem kann man seine Notenliste, Prüfungsleistungen und erreichte Credits einsehen, bevorstehende Prüfungstermine abrufen, im Raumbelegungsplan nach Räumen suchen und prüfen, welche Veranstaltungen in dem Raum stattfinden, einen Campusplan zur Orientierung nutzen und allgemeine Informationen über die Hochschule bzw. über die Studiengänge abrufen – zum Beispiel die Öffnungszeiten der verschiedenen Einrichtungen und vorlesungsfreie Zeiten. Eine beliebte Funktion ist der Zugriff auf die Speisepläne und Preise der Gerichte der Mensen in der näheren Umgebung über eine OpenMensa-Anbindung.
Die App: die Technologie
Die HTW Dresden App steht für Android- und iOS-Geräte zur Verfügung. Zwischen den beiden Versionen gibt es technologisch einige Unterschiede. Während Apple für iOS Apps Objective-C und Swift unterstützt, werden Apps für Android in Java oder Kotlin entwickelt. Der Funktionsumfang der einzelnen Programmiersprachen, die unterstützten Bibliotheken und die Programmarchitekturen auf den beiden Systemen weichen mehr oder weniger stark voneinander ab. Beide Betriebssysteme werden jedoch aktiv weiterentwickelt und haben einen sehr hohen Technologiestandard. Die App entspricht dem jeweiligen Stand der Technik und ist kostenlos im Apple App Store und im Google Play Store erhältlich.
Besonderheiten in der iOS App
Insbesondere bei der Verarbeitung von Datenströmen über Netzwerke erfordert eine verzögerungsfreie Reaktion auf Nutzerinteraktionen Asynchronität, da die App sonst blockieren würde bis eine Antwort da ist. Das Stichwort hierzu ist "reactive programming". Mit Reactive Extensions (auch ReactiveX oder RX) steht eine ausgereifte API für diese Anwendungsfälle zur Verfügung. Im Fall der iOS App wird auf die Swift-Variante davon zurückgegriffen. RxSwift ermöglicht es dann auch, die Architektur der App sauber zu designen und ein über MVC (Model-View-Controller) hinausgehendes Model zu verwenden. Die HTW Dresden App wurde entsprechend dem MVVM-C Pattern (Model-View-ViewModel-Coordinator-Pattern) entwickelt. Dadurch werden Logik und Views sauber getrennt und die Weiterentwicklung erleichtert.
Moya wird als Netzwerk-Abstraktionsschicht eingesetzt. Dieser Zwischenschritt trägt zu einer sauberen Struktur der App bei und vereinfacht die zukünftige Wartung. Die Daten werden dabei lokal in einer REALM Datenbank gespeichert. REALM ist die schnellste verfügbare mobile Datenbank.
Für den gewissen Wow-Effekt sorgen Animationen, die mit der plattformübergreifende Bibliothek Lottie implementiert wurden und so die App in die Lage versetzen, Adobe After Effects Animationen auch auf mobilen Geräten flüssig zu rendern.
Als Programmiersprache kommt Swift in der aktuellen Version 5.0 zum Einsatz. Apple empfiehlt inzwischen, das modernere Swift statt Objective-C für die App-Entwicklung zu verwenden. Auch mit Swift können alle Möglichkeiten ausgenutzt werden, die Apples Geräte bieten. Da die Entwicklung nicht stehen bleibt, ist es für alle Apps das erklärte Ziel, sie für den Stand der Technik zu optimieren. In diesem Fall ist das iOS 13. Mit dieser Betriebssystem-Version wurde unter anderem der Dark Mode eingeführt. Dieser wird in der HTW Dresden App voll unterstützt.
Besonderheiten in der Android App
Unter Android soll die App qualitativ nicht anders als unter iOS sein. An einigen Stellen unterscheidet sich, bedingt durch die Plattform, die Methodik oder die verwendeten Bibliotheken.
Unverändert ist die asynchrone Programmierung mit RX. Statt der Swift-Variante wird hier allerdings auf die Kotlin-Version zurückgegriffen. Für Animationen ist auch unter Android Lottie das Mittel der Wahl. Für die lokale Speicherung der Daten wird, wie unter iOS, eine REALM Datenbank verwendet. Die interne Datenstruktur ist so auf beiden Plattformen identisch, was den Aufwand im Entwicklungsprozess und auch den der zukünftigen Wartung reduziert. Ähnlich zur iOS-Implementierung gibt es auch hier eine Netzwerk-Abstraktionsschicht: Retrofit.
Architektonisch setzt die Android-App auf das MVVM-Pattern, um Logik und Views sauber zu trennen, ähnlich, jedoch etwas einfacher als MVVM-C unter iOS. Entwickelt wurde die App nativ in Kotlin, welches die seit Mai 2019 von Google offiziell bevorzugte Sprache zur App-Entwicklung für Android ist. Erweiternd werden die Android Jetpack Components verwendet, welche eine vereinfachte In-App-Navigation und Datenanzeige in Echtzeit ermöglichen.