Architekturen für performante, effiziente und nutzerfreundliche HTML5 cross-platform Anwendungen

Universität Ulm

MA Abschlussvortrag, Nelli Natan, Ort: O27/545, Datum: 21.02.2017, Zeit: 11:00 Uhr

Mobile Versionen einer Anwendung gehören heutzutage zu fast jeder Webanwendung dazu. Durch die Vielfalt an Geräten und Betriebssystemen ist es für den Entwickler allerdings eine Herausforderung, die Verfügbarkeit der Anwendung und eine gute Performance auf allen Geräten zu erreichen. Da oftmals ohnehin eine Webanwendung benötigt wird, steht der Entwickler vor der Wahl, die mobile Anwendung nativ, webbasiert oder mittels cross-platform Ansatz zu implementieren. Diese Arbeit untersucht, ob die cross-platform Entwicklung mit JavaScript eine wettbewerbsfähige Alternative gegenüber der nativen Anwendungsentwicklung darstellt. Da eine bestehende Webanwendung in eine mobile Anwendung umgewandelt werden soll, werden zunächst cross-platform Technologien betrachtet, die die Schwachstellen einer mobilen Webanwendung beseitigen können. Nach Auswahl einer Technologie und Implementierung einer cross-platform Anwendung werden in der anschlieÿenden Analyse Tests durchgeführt, um die Performance, den Entwicklungsaufwand, die Kosten und die User Experience zu bewerten. Zudem werden bestimmte Komponenten der Anwendung nativ in Android umgesetzt und ebenfalls analysiert. Ein allgemeines Urteil über die Verwendung einer cross-platform Technologie für die Umsetzung einer mobilen Anwendung kann nicht getroffen werden, da oftmals spezielle Anforderungen berücksichtigt werden müssen. Im untersuchten Anwendungsfall bietet die verwendete cross-platform Technologie - React Native - allerdings eine gute Möglichkeit, um Entwicklungsaufwand zu sparen und dennoch einen hohen Mehrwert zu erzielen. Da die gesamte Anwendungslogik wiederverwendet werden kann, benötigt der Entwickler keine zusätzlichen Kenntnisse über die einzelnen Betriebssysteme und kann sich auf die Anpassungen der nativen UI-Komponenten konzentrieren. Zudem konnten Schwächen in der Performance weitgehend behoben werden. Für ähnliche Anwendungsfälle stellt der cross-platform Ansatz daher eine gute Alternative zu der webbasierten und der nativen Anwendungsentwicklung dar.