Table of Contents Author Guidelines Submit a Manuscript
Mobile Information Systems
Volume 2019, Article ID 4324871, 29 pages
Research Article

Porting Mobile Apps from iOS to Android: A Practical Experience

1TIM Laboratory, ENSA, Cadi Ayyad University Marrakesh, Marrakesh, Morocco
2MDA Expert, MyAppConverter Ltd., London, UK
3LTI Laboratory, ENSA, University of Chouaib Doukkali El Jadida, El Jadida, Morocco

Correspondence should be addressed to Khalid Lamhaddab; moc.liamg@baddahmal.k

Received 19 April 2019; Revised 19 June 2019; Accepted 22 July 2019; Published 3 September 2019

Academic Editor: Ramon Aguero

Copyright © 2019 Khalid Lamhaddab et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


The recent rise of smartphones has triggered a revolution in mobile development. As a result of this incremental mobile innovation, new software engineering techniques, software documentation, and tools adapted to the mobile platform remain essential in order to help developers to better understand, analyze, and bootstrap porting mobile applications. In this paper, the authors propose a model-driven reverse-engineering approach based on static analysis, which describes a semantic metamodel of the iOS mobile application and extract design information (such as user interfaces, activity diagram, entities, framework and library dependencies) in order to generate the functional specification documentation and the Android UI skeleton. Thus, aiding the project team, who has in charge porting the app to another mobile platform, to agree upon a consensus on what has to be implemented and safe development cost by auto generating the Android UI skeleton project. To experiment this approach, the authors have implemented a tool called iSpecSnapshot. Moreover, they evaluate the performance of iSpecSnapshot by an experiment involving iOS applications that are ported to Android platform.