During last ten years, the number of smartphones and mobile applications has been constantly growing. Android, iOS and Windows Mobile are three mobile platforms that cover almost all smartphones in the world in 2017. Developing a mobile app involves first to choose the platforms the app will run, and then to develop specific solutions (i.e., native apps) for each chosen platform using platform-related toolkits such as AndroidSDK. Across-platform mobile application is an app that runs on two or more mobile platforms. Several frameworks have been proposed to simplify the development of cross-platform mobile applications and to reduce development and maintenance costs.They are called cross-platform mobile app development frameworks.However, to our knowledge, the life-cycle and the quality of cross-platforms mobile applications built using those frameworks have not been studied in depth. Our main goal is to first study the processes of development and maintenance of mobile applications built using cross-platform mobile app development frameworks, focusing particularly on the bug-fixing activity. Then, we aim at defining tools for automated repairing bugs from cross-platform mobile applications.
There are several works that classify, compare and evaluate cross-platform mobile application development tools @cite_4 @cite_1 @cite_9 @cite_3 @cite_14 to build hybrid mobile and native apps. Our goal is to empirically study the life-cycle of mobile apps built using some of those tools, such as Xamarin or React-Native.
@cite_14 @cite_4 @cite_9 @cite_1 @cite_3
2066681327 1530054426 2164555494 1964593581
People use an increasing number of consumer electronic devices to access their mobile apps. To enhance the applications' immersive user experience, these devices often expose APIs for accessing a wide array of sensors and domain-specific capabilities. Existing mobile application environments, however, only provide limited support for cross-device access of such APIs. To address this limitation, the Webinos platform was designed. Webinos is a virtualized Web-based application platform, aiming to support the collaboration of multiple devices within a single mobile application. In this paper we elaborate on the Webinos platform design. We discuss the encountered design challenges regarding portability, scalability, and privacy, and how these were mitigated. The fragmented smartphone market with at least five important mobile platforms makes native development of mobile applications (apps) a challenging and costly endeavour. Cross-platform development might alleviate this situation. Several cross-platform approaches have emerged, which we classify in a first step. In order to compare concrete cross-platform solutions, we compiled a set of criteria to assess cross-platform development approaches. Based on these criteria, we evaluated Web apps, apps developed with PhoneGap or Titanium Mobile, and – for comparison – natively developed apps. We present our findings as reference tables and generalize our results. Our criteria have proven to be viable for follow-up evaluations. With regard to the approaches, we found PhoneGap viable if very close resemblance to a native look & feel can be neglected. The number and type of mobile platforms is increasing. Each platform has a specific set of native functionalities (i.e., camera, compass) and provides a specific framework to implement mobile applications exploiting these functionalities. The new features offered by HTMLS together with the PhoneGap framework let the web be a potential candidate for multi-platform mobile development. However, programmers are still in charge of implementing the data flow, the control flow and the interaction. In this paper, we propose a development process to allow the implementation of portable web applications that use native device features. This process is based on the Model-View-View-Model architectural pattern and provides a framework that exploits the source code generated starting from the design of a State Transition Diagram. The state application logic is described exploiting Javascript. We also provide an example of generated multi-platform application, named Travel Guide. Mobiles are an integral part of daily life. With time, customers are expecting good and very versatile applications in less time. It is a big challenge to develop high performance mobile applications in this competitive market that would meet the expectation of customers. Mobile operating systems vendors are giving their best available resources for making applications in more convenient ways, although the development of new applications for each mobile operating system in short time is fairly a problem. Cross-platform mobile application development tools contribute in solving this problem largely. This paper presents a pragmatic comparison among four very popular cross platform tools, which are Rhodes, PhoneGap, DragonRad and MoSync. One of the main focuses of the comparison is to provide an overview on the availability of application programming interfaces, programming languages, supported mobile operating systems, licences, and integrated development environments. Furthermore, it also presents some critical points such as the factor of extensibility in tools and the effects that they may bring on market share. The comparison is aimed at supporting developers to make the right choice with respect to their needs constraints.