A multi-dimensional study on the state of the practice of REST APIs usage in Android apps
- PDF / 2,201,394 Bytes
- 42 Pages / 439.37 x 666.142 pts Page_size
- 94 Downloads / 168 Views
A multi‑dimensional study on the state of the practice of REST APIs usage in Android apps Manel Abdellatif1,2 · Rafik Tighilt1 · Abdelkarim Belkhir1 · Naouel Moha1 · Yann‑Gaël Guéhéneuc3 · Éric Beaudry1 Received: 15 November 2019 / Accepted: 21 July 2020 © Springer Science+Business Media, LLC, part of Springer Nature 2020
Abstract REST APIs are gaining a tremendous attraction in industry and a growing usage in mobile platforms. They are well suited for providing content to apps running on small devices, like smartphones and tablets. Several research works studied REST APIs development practices for mobile apps. However, little is known about how Android apps use/consume these APIs in practice. Consequently, we propose a multi-dimensional study on the state of the practice of REST APIs usage in Android apps. We follow three directions: analysing of Android apps, mining Stack Overflow posts on REST APIs usage in Android apps, and surveying Android developers about their usage of REST APIs in their mobile apps. We (1) build a catalog of Android REST mobile clients practices, (2) propose an automatic approach to detect these practices, (3) analyze 1595 Android apps downloaded from the Google Play store, (4) mine 12,478 Stack Overflow posts to study REST APIs usage in Android apps, and (5) conduct an online survey with 118 Android developers to understand their usage of these practices. We report that only two good practices are widely considered by Android developers when implementing their mobile apps. These practices are network connectivity awareness and JSON versus XML response parsing. We also report Android developers’ recommendations for the use of third-party HTTP libraries and their role in implementing the recommended practices. Keywords REST API · Android · Practices · Third-party HTTP libraries
* Manel Abdellatif [email protected] 1
Université du Québec à Montréal, Montreal, Québec, Canada
2
Polytechnique Montréal, Montreal, Québec, Canada
3
Concordia University, Montreal, Québec, Canada
13
Vol.:(0123456789)
Automated Software Engineering
1 Introduction Smartphone ownership has spread rapidly around the globe in the past decades. It is estimated that, in 2019, the total number of smartphone users stood at more than 3.8 billion.1 Also, in the same year, Google Play store boosted close to 2.4 millions of mobile applications (apps) while the Apple App Store has over 2 millions.2 Most of these mobile apps access data, business rules, and business processes of vital information-systems remotely for architectural, efficiency, and security reasons. REST APIs (Representational State Transfer Application Programming Interfaces) have been a mainstream form of services for some years now. They are well suited for providing content to mobile devices, like smartphones and tablets, because they offer a lightweight and flexible access to remote services for end users and mobile apps developers. Several research works studied best practices in the implementation of REST APIs (Rodríguez et al.
Data Loading...