Table 1 - uploaded by Joachim Perchat
Content may be subject to copyright.
Some differences between several mobile operating systems. 

Some differences between several mobile operating systems. 

Source publication
Article
Full-text available
Smartphones provide a set of native functionalities and another set of functionalities available through third-party applications. The emergence of more and more actors, without standards to provide their devices or OS, stops the cross-platform development. Indeed, a developer would have to learn many programmatic languages and create many user int...

Similar publications

Conference Paper
Full-text available
Audio programming can be an overwhelming and confusing task that many developers are not adequately prepared for. Even the seemingly simple task of choosing the right software developers kit (SDK) to use can become a difficult task. This paper presents an analysis of the most extensive and widely used audio programming SDKs organized by audio task...
Conference Paper
The functionality of many mobile applications is dependent on various contextual, external factors. Depending on unforeseen scenarios, mobile apps can even malfunction or crash. In this paper, we have introduced MobiCoMonkey - automated tool that allows a developer to test app against custom or auto generated contextual scenarios and help detect po...

Citations

... The major appeal is that developers would be using familiar technologies to build mobile applications, which would otherwise require different domain knowledge. Another advantage of React Native is that most of the React Native APIs are cross-platform [24]- [27]. This means that an application will have consistent behaviour across Android and iOS platforms, and developers do not have to write code multiple [28], [29]. ...
Article
Full-text available
span>developments in technology and the ever-growing number of web applications, it has become a necessity to create fast and scalable applications to cater to the current market. There are a plethora of frameworks available for web development, and a developer must choose the most appropriate framework for their use. In this paper, a detailed analysis of the history, prominent features and advantages of React, an open-source JavaScript library is presented. A discussion on React Native, a framework for building native applications is also given. This paper has provided an insight into the reason React is the leading web development framework in the world.</span
... AXIOM [14] uses UML visual models combined with Abstract Model Tree to represent domain interactions and generic concepts through a Platform Independent Model. Perchat, Desertot and Lecomte [22] propose a universal language in which, through a compiler, it is possible to generate native code, but the proposed language has a low abstraction level. MOPPET [28] is a tool that uses a mixed approach, involving the concepts of Software Product Lines and MDD, defined by the authors as a product-line model-driven engineering approach for native code generation. ...
... As a result, the developer can focus on business domain concepts, as intended by MDD. But 22 flutter.dev/docs/development/platform-integration/platform-channels 23 https://github.com/JulianoZ/CrossPlatformApproach/ ...
Preprint
Full-text available
Cross-platform development solutions can help to make software available on different devices and platforms. But these are normally restricted to preconfigured platforms and consider that each individual solution is equal or similar to each other. As a result, developers have to resort to native development and build individual solutions, one for each device/platform, that cooperate to deliver the desired global functionality. This article presents an approach that takes advantage of existing solutions and have support for extending and including new platforms, and distributing functionality across devices. The approach is based on a general-purpose language that raises the abstraction level in order to keep the software free from platform details. Automatic transformations produce executable code that can be properly divided and deployed separately into different platforms. The proposed approach was evaluated in four ways. In the first evaluation, an existing cross-platform system was recreated using the approach. The second and third evaluations was conducted with expert and novice developers, who tested the approach in practice. The fourth evaluation introduced support for cross-platform testing. Results have brought evidence supporting the following main contributions: use of a single environment, the ability to reuse similar concepts between platforms and the potential to reduce costs.
... Component-Based Software Engineering (CBSE) has long been considered an appropriate option for dealing with smart environments, for example, by applying component models to integrate heterogeneous applications, or using component interface standards to describe each piece of a system. Today, this technology has regained strength [3] for solving certain problems that arise in emerging smart environments such as mashups [4,5], smartphones [6], smart homes [7,8], smart buildings [9], or smart cities [2]. Furthermore, component-based development is being applied in certain recent solutions related to the Internet of Things (IoT) [10,11] and the Web of Things (WoT) [12,13]. ...
Article
Full-text available
Smart architectures are increasingly being used in current software development. Smart user interfaces, smart homes, or smart buildings are becoming common examples in the new era of smart cities. Software architectures usually related to these domains need to be adapted and reconfigured at run-time, for example, to provide new services, react to user interaction, or due to changes decided from the business logic of the application. Component-based techniques are a suitable way to carry out this kind of adaptation, as dynamic reconfiguration operations can be applied to the architecture. In this paper, we address run-time generation of component-based applications, taking the abstract definitions of their architecture as a reference, in addition to a set of available components. The process calculates the best configuration of components from the abstract definition by applying a trading approach based on an adapted A* algorithm. This algorithm uses heuristics based on syntactic and semantic information obtained from the component definitions. A case study related to mashup user interfaces formed by coarse-grained components is also explained. In short, the results show the usefulness of heuristics and suitable execution times for building the best configurations.
... More recent studies [37] have also performed comprehensive analyses of innovative CP development frameworks, based on React Native, the Ionic Framework, and Fuse. Furthermore, technology has been moving towards the development of special languages for mobile app development that include model-based development (MDD), model-based languages (MDLs) [38], or domainspecific languages (DSLs) [39,40] and the application of product-line model-driven engineering to mobile app development [41] (specifically for industry-grade, feature-based, mobile apps) and component-based frameworks (CBFs) [42]. The key to these approaches is driven by modeling activities and we can describe the app on a high-level which translates to a native code based on the target platform. ...
Article
Mobile health (mHealth) apps have received increasing attention, due to their abilities to support patients who suffer from various conditions. mHealth apps may be especially helpful for patients with chronic diseases, by providing pertinent information, tracking symptoms, and inspiring adherence to medication regimens. To achieve these objectives, researchers need to prototype mHealth apps with dedicated software architectures. In this paper, a cloud-based mHealth application development concept is presented for chronic patient supportive care apps. The concept integrates existing software platforms and services for simplified app development that can be reused for other target applications. This developmental method also facilitates app portability, through the use of common components found across multiple mobile platforms, and scalability, through the loose coupling of services. The results are demonstrated by the development of native Android and cross-platform web apps, in a case study that presents an mHealth solution for endocrine hormone therapy (EHT). A performance analysis methodology, an app usability evaluation, based on focus group responses, and alpha and pre-beta testing results are provided.
... With this problem, an android based application is designed with a distance location approach. There are several papers study about shortest path of [4][5][6][7][8], [10], and [11]. ...
Article
Full-text available
Indonesia is large country with dense populations. Many entrepreneurs take Indonesia as world business target since people are commonly using a smart phone in their daily life. In Bengkalis, people are looking for business location conventionally by visit the shop and others. Social media like Facebook and Instagram also give the information about the shop and its products. But all the method was very inefficient since consumer spend a lot of energy, time, and money to buy something. Business and technology are two thing that can’t be separated where there are greatly needed to support the success of business. The distance location formula between two points P and Q with latitude and longitude (x1, y1) and (x2, y2) respectively named coordinate. This formula base on Haversine Formula which is very accurate to calculate the distance. In this paper, we create a system of business location searching using distance approach. The main purpose of this application is to give the visitors about the information of product and a map that show the nearest shop according to product they needed, distance estimation to reach the location.
... For mobile cross-platform development, this is extended by design guidelines defined by the different operating systems. It is further restricted because of different device capabilities (e.g., screen sizes and resolution) [16]. Limited resources is a typical issue in mobile software engineering; for cross-platform development the application size and resource consumption (especially power and memory management) is a typical issue [6] [17]. ...
... Furthermore, different operating systems must be handled as well. Finally the application has to be maintained by following short lifecycles of devices, operating systems and frameworks [6] [16]. ...
Article
Full-text available
Cross-platform development is increasingly driven by web frameworks. Modern frameworks typically support applica-tion deployment for different platforms as well as the creation of progressive web apps. This approach is also driven by the increasing number of different device types and platforms. Development efforts can be significantly reduced by utilization of modern frameworks. Hence, several modern frameworks that have proven to be suitable for cross-platform development will be compared in this article. This article will extend our previous research on cross-platform development by several dimensions: at first, research on literature and technology developments regarding cross-platform development is ex-tended. Secondly, we added further frameworks into our anal-ysis. Thirdly, the evaluation approach is systematically extend-ed to discuss each framework on an individual basis. This is driven by a reference architecture and implementation. To create a sound and objective framework comparison, the ref-erence architecture is utilized to implement applications by means of each framework. Subsequently tests for different mobile devices and platforms are defined. All frameworks are compared according several key metrics. Finally, we describe current strengths and weaknesses of all approaches before giving an outlook on future steps of research.
... They illustrated their approach with energy e±cient software patterns. In contrast, Perchat et al. proposed a component-based framework [28] for apps to be independent from the host OS in mobile application development. Their work used a new programming language that provides a single instruction call to any component through its interface. ...
Article
With the widespread use of mobile applications in daily life, it has become crucial for enterprise software companies to quickly develop these applications for multiple platforms. Cross-platform mobile application development is one of the most adopted solutions for rapid development. Since most of these solutions do not generate native code for the underlying platform, the artefacts generally do not satisfy the requirements defined at the beginning of the project. This study designed and implemented a native code generation framework called Nativator built as a cloud service. The framework, which is capable of producing native code for iOS and Android platforms using web-based user interfaces, was implemented based on an open source compiler platform called “Roslyn”. Four case studies were performed to analyze the execution performance of the applications built with the proposed framework. The experimental results demonstrated that the execution performance of the applications built with Nativator is comparable with the applications generated via the state-of-the-art mobile application development framework called Xamarin. Because this framework was implemented as a cloud service, it has several advantages over traditional approaches such as access from anywhere, no installation and flexible and more resources from cloud infrastructure.
... Studies on cross-platform mobile development vary in methods and focus, with a wide range of topics being actively researched. Examples of such include performance scrutiny of cross-platform frameworks and tools (e.g., [19,[24][25][26]), studies on user experience (e.g., [6,27]), more descriptive and overarching studies cover topics ranging from taxonomy (e.g., [10,28]) and evaluations of development approaches (e.g., [12,29,30]) to more technical comparisons (e.g., [18,31]) and app store analysis of cross-platform apps (e.g., [22,32,33]). The aforementioned categories have seen arduous work and results adding to an increasing body of knowledge. ...
Article
Full-text available
The purpose of this study is to report on the industry’s perspectives and opinions on cross-platform mobile development, with an emphasis on the popularity, adoption, and arising issues related to the use of technical development frameworks and tools. We designed and conducted an online survey questionnaire, for which 101 participants were recruited from various developer-oriented online forums and websites. A total of five questions are reported in this study, of which two employed a Likert scale instrument, while three were based on multiple choice. In terms of technical frameworks, we find that PhoneGap, the Ionic Framework, and React Native were the most popular in use, both in hobby projects and in professional settings. The participants report an awareness of trade-offs when embracing cross-platform technologies and consider penalties in performance and user experience to be expected. This is also in line with what is reported in academic research. We find patterns in the reported perceived issues which match both older and newer research, thus rendering the findings a point of departure for further endevours.
... We acknowledge that there exist development approaches not included in this review, which have been left out due to lack of prevalence in the literature, and have not been identified as mentioned in industry or practitioner outlets. Examples of such approaches include Component-Based development (e.g., References [32,74]) and Integrated Cross-Platform Mobile Development [28], the latter a proposed approach drawing from best practices inherited from other approaches. However, regardless of their novelty or possible application, we have yet to identify studies and experiments including these approaches, with the exception of those previously cited. ...
Article
Full-text available
Developing applications targeting mobile devices is a complex task involving numerous options, technologies, and trade-offs, mostly due to the proliferation and fragmentation of devices and platforms. As a result of this, cross-platform app development has enjoyed the attention of practitioners and academia for the previous decade. Throughout this review, we assess the academic body of knowledge and report on the state of research on the field. We do so with a particular emphasis on core concepts, including those of user experience, device features, performance, and security. Our findings illustrate that the state of research demand for empirical verification of an array of unbacked claims, and that a particular focus on qualitative user-oriented research is essential. Through our outlined taxonomy and state of research overview, we identify research gaps and challenges, and provide numerous suggestions for further research.
... The proliferation of app-and web-enabled devices including mobile, watches, TVs, desktop and laptop computers demands developers to obtain considerable multi-platform technical knowledge due to extensive fragmentation. In traditional application development, codebases have been constrained to build and execute on only one or few target platforms [2][3][4]. In mobile development, we refer to this as the Native development approach -apps are developed in a platformspecific language such as Java or Kotlin for Android and Swift or Objective-C for iOS. ...
Chapter
Full-text available
Progressive Web Apps (PWAs) allow for web applications to be developed in an offline-first approach. While Web apps traditionally did not properly function without an Internet connection, PWAs enable them to be downloaded, installed and used offline on various systems, including mobile devices and personal computers. We present an introduction to the state-of-art in research and practice. Based on this, we discuss various underlying concepts and technologies. Then, we scrutinize and compare PWAs against cross-platform app development approaches on both technical and overarching aspects. A list of suggestions for future research is also presented. We urge academia to keep up with the latest trends within the field of mobile and web development, as new concepts and approaches such as Progressive Web Apps now make for interesting research topics with tangible real-world effects.