Skip to main content

GraphQL or REST for Mobile Applications?

  • Conference paper
  • First Online:
  • 699 Accesses

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 1675))

Abstract

Currently, GraphQL has emerged as a query language for developing web APIs that propose to improve several data access problems of RESTful APIs. The present paper aims to study the effects on software quality of APIs developed with REST and GraphQL architectures consumed from mobile applications. For this, we design a computational experiment that compares the quality characteristic “performance efficiency" of mobile application consumption to three APIs; one GraphQL API and two REST APIs (one exposes complex queries on several endpoints, the other exposes complex queries on a single endpoint). The results show that the software quality of the API developed with GraphQL architecture is higher than that developed with REST architecture.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    See https://dl.acm.org.

  2. 2.

    See https://link.springer.com.

  3. 3.

    See https://ieeexplore.ieee.org.

  4. 4.

    See https://www.scopus.com/.

  5. 5.

    See https://dblp.org.

References

  1. Basili, V.R.: Software modeling and measurement: the goal/question/metric paradigm. University of Maryland, Tech. rep. (1994)

    Google Scholar 

  2. Baškarada, S., Nguyen, V., Koronios, A.: Architecting microservices: practical opportunities and challenges. J. Comput. Inf. Syst. 60(5), 1–9 (2018)

    Google Scholar 

  3. Brito, G., Mombach, T., Valente, M.T.: Migrating to GraphQL: a practical assessment. In: SANER 2019 - Proceedings of the 2019 IEEE 26th International Conference on Software Analysis, Evolution, and Reengineering, pp. 140–150. IEEE, Hangzhou (2019). https://doi.org/10.1109/SANER.2019.8667986, https://ieeexplore.ieee.org/abstract/document/8667986/

  4. Brito, G., Valente, M.T.: REST vs GraphQL: a controlled experiment. In: Proceedings - IEEE 17th International Conference on Software Architecture, ICSA 2020, pp. 81–91. Institute of Electrical and Electronics Engineers Inc., Salvador (2020). https://doi.org/10.1109/ICSA47634.2020.00016

  5. Facebook, I.: GraphQL | A query language for your API (2016). https://graphql.org/

  6. Fielding, R.T., Taylor, R.N.: Principled design of the modern web architecture. ACM Trans. Internet Technol. (TOIT) 2(2), 115–150 (2002)

    Article  Google Scholar 

  7. Guevara-Vega, C., Bernardez, B., Duran, A., Quiña-Mera, A., Cruz, M., Ruiz-Cortes, A.: Empirical strategies in software engineering research: a literature survey. In: 2nd International Conference on Information Systems and Software Technologies, ICI2ST 2021. pp. 120–127 (2021). https://doi.org/10.1109/ICI2ST51859.2021.00025

  8. Guo, Y., Deng, F., Yang, X.: Design and implementation of real-time management system architecture based on GraphQL. In: 2018 2nd Annual International Conference on Cloud Technology and Communication Engineering, CTCE 2018, vol. 466, p. 9. Institute of Physics Publishing, Nanjing (2018). https://doi.org/10.1088/1757-899X/466/1/012015, https://stacks.iop.org/1757-899X/466/i=1/a=012015?key=crossref.aea9adb1d7f75507f4831f4bca08dc61

  9. Hartina, D.A., Lawi, A., Enrico Panggabean, L.: Performance Analysis of GraphQL and RESTful in SIM LP2M of the Hasanuddin University. In: The 2nd East Indonesia Conference on Computer and Information Technology (EIConCIT) 2018. pp. 237–240. Institute of Electrical and Electronics Engineers Inc., Indonesia (2018). https://doi.org/10.1109/EIConCIT.2018.8878524, https://ieeexplore.ieee.org/abstract/document/8878524/

  10. ISO/IEC: NTE INEN-ISO/IEC 25010. International organization for standardization, Geneva, Switzerland, 1 edn. (2015)

    Google Scholar 

  11. ISO/IEC: ISO/IEC 25023:2016 Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - Measurement of system and software product quality, vol. 1. International organization for standardization, Geneva, Switzerland, 1 edn. (2016)

    Google Scholar 

  12. Khan, R., Mian, A.N.: Sustainable IoT sensing applications development through GraphQL-based abstraction layer. Electronics (Switzerland) 9(4), 23 (2020). https://doi.org/10.3390/electronics9040564

    Article  Google Scholar 

  13. Kozhevnikov, V., Shergalis, D.: Migrating from REST to GraphQL having long-term supported clients. Theor. Appl. Sci. 93(February), 180–185 (2001). https://dx.doi.org/10.15863/TAS.2021.01.93.31

  14. Lee, E., Kwon, K., Yun, J.: Performance Measurement of GraphQL API in Home ESS Data Server. In: 2020 International Conference on Information and Communication Technology Convergence (ICTC), vol. 2020-Octob, pp. 1929–1931. IEEE, Jeju (2020). https://doi.org/10.1109/ICTC49870.2020.9289569

  15. Mukhiya, S., Rabbi, F., Pun, V., Rutle, A., Lamo, Y.: A GraphQL approach to healthcare information exchange with HL7 FHIR. In: The 9th International Conference on Current and Future Trends of Information and The 9th International Conference on Current and Future Trends of Information and Communication Technologies in Healthcare (ICTH 2019) Communication Technologies in Healthcare, vol. 160, pp. 338–345. Elsevier B.V., Coimbra (2019). https://doi.org/10.1016/j.procs.2019.11.082.

  16. Nogatz, F., Seipel, D.: Implementing GraphQL as a query language for deductive databases in SWI-Prolog using DCGs, quasi quotations, and dicts. In: 30th Workshop on (Constraint) Logic Programming, WLP 2016 and 29th Workshop on (Constraint) Logic Programming, WLP 2015, vol. 234, pp. 42–56. Open Publishing Association, Leipzig (2017). https://doi.org/10.4204/EPTCS.234.4

  17. Pautasso, C.: RESTful web services: principles, patterns, emerging technologies. In: Web Services Foundations, pp. 31–51. Springer, New York (2014). https://doi.org/10.1007/978-1-4614-7518-7_2

  18. Quiña-Mera, A., Fernández-Montes, P., García, J., Bastidas, E., Ruiz-Cortés, A.: Quality in use evaluation of a GraphQL implementation. In: 16th Multidisciplinary International Congress on Science and Technology, CIT 2021. vol. 405 LNNS, pp. 15–27 (2022). https://doi.org/10.1007/978-3-030-96043-8_2

  19. Richardson, L., Amundsen, M., Amundsen, M., Ruby, S.: RESTful Web APIs: Services for a Changing World. O’Reilly Media, Inc., California, USA (2013)

    Google Scholar 

  20. Sayago Heredia, J., Flores-García, E., Solano, A.R.: Comparative analysis between standards oriented to web services: SOAP, REST and GraphQL. In: Botto-Tobar, M., Zambrano Vizuete, M., Torres-Carrión, P., Montes León, S., Pizarro Vásquez, G., Durakovic, B. (eds.) ICAT 2019. CCIS, vol. 1193, pp. 286–300. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-42517-3_22

    Chapter  Google Scholar 

  21. Seifer, P., Härtel, J., Leinberger, M., Lämmel, R., Staab, S.: Empirical study on the usage of graph query languages in open source Java projects. In: SLE 2019 - Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering, co-located with SPLASH 2019, pp. 152–166. Association for Computing Machinery Inc, Athens (2019). https://doi.org/10.1145/3357766.3359541

  22. Singh, A., Jeyanthi, N.: MVP Architecture model with single endpoint access for displaying COVID 19 patients information dynamically. In: Proceedings - 2020 12th International Conference on Computational Intelligence and Communication Networks, CICN 2020, pp. 471–476. IEEE, Bhimtal (2020). https://doi.org/10.1109/CICN49253.2020.9242573, https://ieeexplore.ieee.org/abstract/document/9242573

  23. Susrama, G., Diyasa, M., Budiwitjaksono, G.S., Amarul, H., Ade, I.: Comparative analysis of rest and GraphQL technology on Nodejs-Based API development. In: 5th International Seminar of Research Month 2020, vol. 2021, pp. 43–52. Nusantara Science and Technology Proceedings, Zoom/Live Streaming Youtube (2021)

    Google Scholar 

  24. The GraphQL Foundation: GraphQL (2018). https://graphql.github.io/graphql-spec/June2018/

  25. Thönes, J.: Microservices. IEEE Softw. 32, 4 (2015). https://doi.org/10.1109/MS.2015.11

    Article  Google Scholar 

  26. Vazquez-Ingelmo, A., Cruz-Benito, J., García-Penalvo, F.: Improving the OEEU’s data-driven technological ecosystem’s interoperability with GraphQL. In: 5th International Conference on Technological Ecosystem for Enhancing Multiculturality, TEEM 2017, vol. Part F1322, p. 8. Association for Computing Machinery, Cadiz (2017). https://doi.org/10.1145/3144826.3145437

  27. Vesić, M., Kojić, N.: Comparative analysis of web application performance in case of using REST versus GraphQL. In: Fourth International Scientific Conference ITEMA 2020, pp. 1–9. Edekom Balkan, ONLINE-Virtual (2020). https://doi.org/10.1163/156854293X00151

  28. Vogel, M., Weber, S., Zirpins, C.: Experiences on migrating RESTful web services to GraphQL. In: Braubach, L., et al. (eds.) ICSOC 2017. LNCS, vol. 10797, pp. 283–295. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-91764-1_23

    Chapter  Google Scholar 

  29. Wang, S., Keivanloo, I., Zou, Y.: How do developers react to RESTful API evolution? Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 8831, 245–259 (2014)

    Google Scholar 

  30. Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Berlin, Heidelberg, 1 edn. (2012). https://doi.org/10.1007/978-3-642-29044-2, https://www.springer.com/la/book/9783642290435

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Antonio Quiña-Mera .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Quiña-Mera, A., García, J.M., Fernández, P., Vega-Molina, P., Ruiz-Cortés, A. (2022). GraphQL or REST for Mobile Applications?. In: Guarda, T., Portela, F., Augusto, M.F. (eds) Advanced Research in Technologies, Information, Innovation and Sustainability. ARTIIS 2022. Communications in Computer and Information Science, vol 1675. Springer, Cham. https://doi.org/10.1007/978-3-031-20319-0_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-20319-0_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-20318-3

  • Online ISBN: 978-3-031-20319-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics