AppCraft: Model-Driven Development Framework for Mobile Applications - Lyan Alwakeel; Kevin Lano; Hessa Alfraihi (IEEE Access)
Mobile app developers often encounter a significant challenge in developing well-structured mobile apps capable of supporting multiple platforms and diverse functional requirements. The main current practice involves coding versions for different platforms separately using traditional software development methods. Implementing any changes across these variants requires manual effort, demanding a significant amount of time and resources. In response, software engineering has focused on improving the development process to create high-quality mobile applications. One promising approach is Model-Driven Development (MDD), which generates low-level code from high-level models, enabling developers to “write once, run anywhere”. This paper proposes AppCraft, an MDD-based framework designed for developing cross-platform mobile apps. AppCraft facilitates the generation of complex, intelligent, and well-structured apps by addresses three types of variations in mobile apps: platform-related variations, built-in capabilities, and app functionalities. Additionally, this paper describes the use of AppCraft for supporting the integration of machine learning models in mobile apps. The framework comprises a domain-specific language, a text-based modelling editor, and a set of model-to-code transformations. The framework’s applicability was assessed by automatically generating the implementation of eight different case studies in the healthcare domain. Additionally, the productivity was evaluated by comparing the time and effort required using AppCraft versus a manual coding process. As part of the evaluation, a usability study was conducted to assess the usability of AppCraft-generated apps. The results demonstrate that AppCraft is applicable and beneficial for the automated generation of usable mobile apps, highlighting significant reductions in development time and effort.