Establishing Common Architectures for Porting Mobile Applications to new Platforms.
Tilmann Stehle, Matthias Riebisch · Softwaretechnik-Trends · 2015
Currently the market of mobile operating systems is divided between several platforms and developers have to target more than one in order to achieve a large number of users [4]. Reimplementing an existing application for a second platform is no trivial task, though. Developers need to learn the second platform’s API, concepts and paradigms such as an app’s life cycle, the platform’s caching mechanisms and the like. On the one hand, different technologies and frameworks ease cross-platform development, such as Xamarin [8], PhoneGap and many others [5]. On the other hand, reimplementing an existing app with such a framework and discarding the original one is likely to break the maturity level and the users’ acceptance in consequence. Additionally there are reasons not to use tools and languages other than those supported by the operating system producers: The native API is maintained continuously and the IDEs are strictly aligned to the latest technology. This paper introduces a porting approach that aims at easing the maintenance of the original and the emerging implementation for the target operating system. Furthermore it contributes to the preservation of the flexibility of native development and the maturity level of the existing original app. This is achieved by restructuring the first app in order to subject most of the code to a semi-automated porting. It establishes a common architecture of the original and the ported implementation. This way it reduces the maintenance effort compared to a complete reimplementation. The following sections introduce this process and shortly specify related work. Finally, the currently conducted evaluation and future work is sketched.