Advertisement

Progressive Web Apps for the Unified Development of Mobile Applications

  • Andreas Biørn-HansenEmail author
  • Tim A. Majchrzak
  • Tor-Morten Grønli
Conference paper
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 322)

Abstract

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.

Keywords

Progressive Web Apps Service workers Cross-platform Cross-platform development Mobile web 

References

  1. 1.
    Biørn-Hansen, A., Majchrzak, T.A., Grønli, T.M.: Progressive web apps: the possible web-native unifier for mobile development. In: Proceedings of the 13th International Conference on Web Information Systems and Technologies (WEBIST), pp. 344–351. SciTePress (2017)Google Scholar
  2. 2.
    Heitkötter, H., Majchrzak, T.A., Kuchen, H.: Cross-Platform Model-Driven Development of Mobile Applications with MD\({}^{\text{2}}\). In: Proceedings of 28th ACM SAC, pp. 526–533. ACM (2013)Google Scholar
  3. 3.
    Perchat, J., Desertot, M., Lecomte, S.: Component based framework to create mobile cross-platform applications. In: Procedia Computer Science, vol. 19, pp. 1004–1011. ScienceDirect (2013). http://www.sciencedirect.com/science/article/pii/S1877050913007485CrossRefGoogle Scholar
  4. 4.
    Majchrzak, T.A., Heitkötter, H.: Status quo and best practices of app development in regional companies. In: Krempels, K.-H., Stocker, A. (eds.) WEBIST 2013. LNBIP, vol. 189, pp. 189–206. Springer, Heidelberg (2014).  https://doi.org/10.1007/978-3-662-44300-2_12CrossRefGoogle Scholar
  5. 5.
    Malavolta, I., Ruberto, S., Soru, T., Terragni, V.: Hybrid mobile apps in the Google play store: an exploratory investigation. In: Proceedings 2nd ACM International Conference on Mobile Software Engineering and Systems, MOBILESoft 2015, pp. 56–59. IEEE Press (2015)Google Scholar
  6. 6.
    Angulo, E., Ferre, X.: A case study on Cross-Platform development frameworks for mobile applications and UX. In: Proceedings of the XV International Conference on Human Computer Interaction, p. 27. ACM (2014)Google Scholar
  7. 7.
    Heitkötter, H., Hanschke, S., Majchrzak, T.A.: Evaluating cross-platform development approaches for mobile applications. In: Cordeiro, J., Krempels, K.-H. (eds.) WEBIST 2012. LNBIP, vol. 140, pp. 120–138. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-36608-6_8CrossRefGoogle Scholar
  8. 8.
    Majchrzak, T.A., Biørn-Hansen, A., Grønli, T.M.: Comprehensive analysis of innovative cross-platform app development frameworks. In: Proceedings of 49th HICSS. IEEE Computer Society (2017)Google Scholar
  9. 9.
    Rahul, R., Tolety, S.B.: A study on approaches to build cross-platform mobile applications and criteria to select appropriate approach. In: Annual IEEE India Conference, pp. 625–629. IEEE (2012).  https://doi.org/10.1109/INDCON.2012.6420693
  10. 10.
    El-Kassas, W.S., Abdullah, B.A., Yousef, A.H., Wahba, A.M.: Taxonomy of Cross-Platform mobile applications development approaches. Ain Shams Eng. J. 8, 163–190 (2017)CrossRefGoogle Scholar
  11. 11.
    Rieger, C., Majchrzak, T.A.: Weighted evaluation framework for cross-platform app development approaches. In: Wrycza, S. (ed.) SIGSAND/PLAIS 2016. LNBIP, vol. 264, pp. 18–39. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-46642-2_2CrossRefGoogle Scholar
  12. 12.
    Du, F.Q.: Under the Hood: Rebuilding Facebook for Android (2012). https://www.facebook.com/notes/facebook-engineering/under-the-hood-rebuilding-facebook-for-android/10151189598933920/. Accessed 13 Jan 2017
  13. 13.
    Lee, C.: Zuckerberg talks about Facebook App mistakes, rumored smartphone and more (2012). http://www.idownloadblog.com/2012/09/11/zuckerberg-app-phone-more/. Accessed 17 Apr 2016
  14. 14.
    Latif, M., Lakhrissi, Y., Nfaoui, E.H., Es-Sbai, N.: Cross platform approach for mobile application development: A survey. In: 2016 International Confere on Information Technology for Organizations Development (IT4OD), pp. 1–5. IEEE (2016)Google Scholar
  15. 15.
    Ciman, M., Gaggi, O.: An empirical analysis of energy consumption of cross-platform frameworks for mobile development. Pervasive Mobile Comput. 39, 214–230 (2016).  https://doi.org/10.1016/j.pmcj.2016.10.004CrossRefGoogle Scholar
  16. 16.
    Russel, A., Berriman, F.: Progressive web apps: escaping tabs without losing our soul (2015). https://goo.gl/e6pZHF
  17. 17.
    Osmani, A., Cohen, M.: Offline storage for progressive web apps (2017). https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/offline-for-pwa. Accessed 3 July 2017
  18. 18.
    Roy-Chowdhury, R.: The mobile web: state of the union (2017). https://www.youtube.com/watch?v=_ssDaecATCM
  19. 19.
    Malavolta, I., Procaccianti, G., Noorland, P., Vukmirović, P.: Assessing the impact of service workers on the energy efficiency of progressive web apps. In: Proceedings of the 4th International Conference on Mobile Software Engineering and Systems, MOBILESoft 2017, Piscataway, NJ, USA, pp. 35–45. IEEE Press (2017). http://dl.acm.org/citation.cfm?id=3104093
  20. 20.
    Gudla, S.K., Sahoo, J.K., Singh, A., Bose, J., Ahamed, N.: Framework to improve the web application launch time. In: Proceedings of 2016 IEEE International Conference on Mobile Services (MS), pp. 73–78. IEEE Press (2016)Google Scholar
  21. 21.
    Fransson, R., Driaguine, A.: Comparing progressive web applications with native android applications: an evaluation of performance when it comes to response time. Ph.D. thesis, Linnaeus University (2017). http://www.diva-portal.org/smash/record.jsf?pid=diva2%3A1105475&dswid=-7607
  22. 22.
    Shafirov, M.: Kotlin on Android. Now official (2017). https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/. Accessed 9 June 2017
  23. 23.
    Majchrzak, T.A., Ernsting, J., Kuchen, H.: Achieving business practicability of model-driven cross-platform apps. Open J. Inf. Syst. (OJIS) 2, 3–14 (2015)Google Scholar
  24. 24.
    Android Developers: (Implementing descendant navigation). https://developer.android.com/training/implementing-navigation/descendant.html. Accessed 12 July 2017
  25. 25.
    Ater, T.: Building Progressive Web Apps: Bringing the Power of Native to the Browser. O’Reilly (2017)Google Scholar
  26. 26.
    Hume, D.A.: Progressive Web Apps. Manning (2017). https://www.manning.com/books/progressive-web-apps
  27. 27.
    Edwards, A.R.: The building blocks of progressive web apps - smashing magazine (2016). https://www.smashingmagazine.com/2016/09/the-building-blocks-of-progressive-web-apps/
  28. 28.
    Mahemoff, M.: Progressive web apps have leapfrogged the native install mode \(\ldots \) but challenges remain (2016). https://goo.gl/EbnF0N
  29. 29.
    Rinaldi, B., Holland, B., Looper, J., Motto, T., VanToll, T.J.: Are progressive web apps the future? (2016). http://developer.telerik.com/featured/are-progressive-web-apps-future/
  30. 30.
    Xanthopoulos, S., Xinogalos, S.: A comparative analysis of cross-platform development approaches for mobile applications. In: Proceedings of 6th Balkan Conference in Informatics, BCI 2013, pp. 213–220. ACM (2013)Google Scholar
  31. 31.
    Dalmasso, I., Datta, S.K., Bonnet, C., Nikaein, N.: Survey, comparison and evaluation of cross platform mobile application development tools. In: Proceedings of 9th IWCMC, pp. 323–328 (2013)Google Scholar
  32. 32.
    Palmieri, M., Singh, I., Cicchetti, A.: Comparison of cross-platform mobile development tools. In: Proceedings of 16th International Conference on Intelligence in Next Generation Networks, pp. 179–186. IEEE (2012)Google Scholar
  33. 33.
    Gaouar, L., Benamar, A., Bendimerad, F.T.: Desirable requirements of cross platform mobile development tools. Electron. Dev. 5, 14–22 (2016)Google Scholar
  34. 34.
    Mercado, I.T., Munaiah, N., Meneely, A.: The impact of cross-platform development approaches for mobile applications from the user’s perspective. In: Proceedings of International Workshop on App Market Analytics, WAMA 2016, pp. 43–49. ACM (2016)Google Scholar
  35. 35.
    Malavolta, I., Ruberto, S., Soru, T., Terragni, V.: End users’ perception of hybrid mobile apps in the Google play store. In: 2015 IEEE International Conference on Mobile Services, pp. 25–32. IEEE (2015)Google Scholar
  36. 36.
    Rieger, C., Majchrzak, T.A.: Conquering the mobile device jungle: towards a taxonomy for app-enabled devices. In: Proceedings of the 13th International Conference on Web Information Systems and Technologies (WEBIST), pp. 332–339. SciTePress (2017)Google Scholar
  37. 37.
  38. 38.
    Gaunt, M.: Service workers: an introduction (2016)Google Scholar
  39. 39.
    Archibald, J.: Instant loading: building offline-first progressive web apps (2016). https://www.youtube.com/watch?v=cmGr0RszHc8
  40. 40.
    Osmani, A., Gaunt, M.: Instant loading web apps with an application shell architecture (2017).https://developers.google.com/web/updates/2015/11/app-shell
  41. 41.
    Guant, M., Kinlan, P.: The web app manifest (2016). https://developers.google.com/web/fundamentals/engage-and-retain/web-app-manifest/. Accessed 8 Dec 2016
  42. 42.
    LePage, P.: Your first progressive web app (2017). https://developers.google.com/web/fundamentals/getting-started/codelabs/your-first-pwapp/. Accessed 8 June 2017
  43. 43.
    Cazañas, A., Parra, E.: Strategies for mobile web design. In: INCISCOS 2016 (2017). ingenieria.ute.edu.ec
  44. 44.
    Nebeling, M., Norrie, M.C.: Responsive design and development: methods, technologies and current issues. In: Daniel, F., Dolog, P., Li, Q. (eds.) ICWE 2013. LNCS, vol. 7977, pp. 510–513. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-39200-9_47CrossRefGoogle Scholar
  45. 45.
    LePage, P.: Responsive web design basics (2017). https://developers.google.com/web/fundamentals/design-and-ui/responsive/. Accessed 4 July 2017
  46. 46.
    CanIUse: Can I use push API (2017). http://caniuse.com/#feat=push-api. Accessed 29 June 2017
  47. 47.
    Birch, S., Russell, A.: Progressive web apps: great experiences everywhere (2017). https://www.youtube.com/watch?v=m-sCdS0sQO8
  48. 48.
    Google Developers: Lighthouse (2017). https://developers.google.com/web/tools/lighthouse/. Accessed: 2017-6-28
  49. 49.
    Smeets, R., Aerts, K.: Trends in web based cross platform technologies. Int. J. Comput. Sci. Mobile Comput. 5, 190–199 (2016)Google Scholar
  50. 50.
    Osmani, A.: Production progressive web apps with JavaScript frameworks (2017). https://www.youtube.com/watch?v=aCMbSyngXB4
  51. 51.
    Joreteg, H.: Installing web apps on phones (for real) (2016). https://joreteg.com/blog/installing-web-apps-for-real
  52. 52.
    Rossi, J.: The progress of web apps - microsoft edge dev blog (2016). https://blogs.windows.com/msedgedev/2016/07/08/the-progress-of-web-apps/
  53. 53.
    Push API (2017). https://www.w3.org/TR/push-api/. Accessed 29 June 2017
  54. 54.
    Pedersen, M.: Progressive web apps: Bridging the gap between web and mobile (2016). https://www.sitepoint.com/progressive-web-apps-bridging-the-gap-between-web-and-mobile/
  55. 55.
    npm-stat: npm-stat: electron (2017). https://npm-stat.com/charts.html?package=electron&from=2015-11-01&to=2017-06-28. Accessed 28 June 2017
  56. 56.
    Electron: (Electron). https://electron.atom.io/. Accessed 28 June 2017
  57. 57.
    Raible, M.: The ultimate guide to progressive web applications (2017). http://scotch.io/tutorials/the-ultimate-guide-to-progressive-web-applications. Accessed 28 June 2017
  58. 58.
  59. 59.
    Malavolta, I.: Beyond native apps: web technologies to the rescue! (keynote). ACM (2016). http://doi.acm.org/10.1145/3001854.3001863
  60. 60.
    Puder, A., Tillmann, N., Moskal, M.: Exposing native device APIs to web apps. In: Proceedings of 1st International Conference on Mobile Software Engineering and Systems, pp. 18–26. ACM (2014).  https://doi.org/10.1145/2593902.2593908
  61. 61.
    Heitkötter, H., Majchrzak, T.A.: Cross-platform development of business apps with MD2. In: vom Brocke, J., Hekkala, R., Ram, S., Rossi, M. (eds.) DESRIST 2013. LNCS, vol. 7939, pp. 405–411. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-38827-9_29CrossRefGoogle Scholar
  62. 62.
    Postfu: Is it actually possible to earn money from mobile game ads? (2017). https://np.reddit.com/r/gamedev/comments/6575nr/is_it_actually_possible_to_earn_money_from_mobile/dg8mmia/?context=10000. Accessed 28 June 2017

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Andreas Biørn-Hansen
    • 1
    Email author
  • Tim A. Majchrzak
    • 2
  • Tor-Morten Grønli
    • 1
  1. 1.Faculty of TechnologyWesterdals Oslo ACTOsloNorway
  2. 2.ERCISUniversity of AgderKristiansandNorway

Personalised recommendations