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
2582705253 1530054426 1964593581 2050192850
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 Android SDK. A cross-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. 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. 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. There is a multitude of mobile OS: iOS android, Windows Phone 8 and each OS provides its own standards and tools. This heterogeneity in the mobile domain forces developers to implement an application for e ach mobile platform. To achieve that, developers need t o master several languages (Java, Objective-C…). They also need to have several devices at their disposal (PC, Mac, many smartphones …). Then, after applications distributions, developers have to main tain several source codes. In this study, we tackle this problematic. Our goal is to soften the differences between each OS in order to simplify the development of cross-platform third-party applications. To achieve that, we have defined a framework called COMMON (Component Oriented programming for Mobile Multi OsiNtegration). This framework allows the integration of cross-platform components in any app lication (iOS android). To run our components on an y OS, we provide an implementation for each platform. However, to make their integrations easier, we als o provide a common public interface of each component, which is platform-independent. Besides, we provid e a common language, also platform-independent, allowing the integration and use of any component in any native application (iOS android). This language is based on annotations. Finally, we have implemented a cross-compiler, which translates the source code wr itten with our language to native source code: Obje ctiveC for iOS, Java for Android,… In this study, we hav e shown that our solution offers performance and memory consumption closed to native applications. Finally, with COMMON, mobile developers implement less lines of source code than with a native applic ation. In your test application, we have saved 30 .