Cross-Platform Mobile Development Frameworks: Choosing the Most Suitable Option for Selected Use Case

Cross-Platform Mobile Development Frameworks: Choosing the Most Suitable Option for Selected Use Case

Lappeenranta University of Technology School of Engineering Science Software Engineering Master's Programme in Software Engineering and Digital Transformation Anna Osipova CROSS-PLATFORM MOBILE DEVELOPMENT FRAMEWORKS: CHOOSING THE MOST SUITABLE OPTION FOR SELECTED USE CASE Examiners: Associate professor Jouni Ikonen Assistant professor Antti Knutas Supervisors: Assistant professor Antti Knutas Associate professor Jouni Ikonen TIIVISTELMÄ Lappeenrannan teknillinen yliopisto School of Engineering Science Tietotekniikan koulutusohjelma Master's Programme in Software Engineering and Digital Transformation Anna Osipova Alustariippumattomat mobiilikehitysohjelmistokehykset: parhaan vaihtoehdon valitseminen tiettyyn käyttötapaukseen Diplomityö 94 sivua, 18 kuvaa, 9 taulukkoa, 1 liite Työn tarkastajat: Tutkijaopettaja Jouni Ikonen Apulaisprofessori Antti Knutas Hakusanat: ohjelmistokehitys, mobiilisovellukset, mobiilikehitys, ohjelmistokehykset Keywords: software engineering, mobile applications, mobile development, software frameworks Mobiilisovellusten kehitys on haastavaa johtuen laitteiden ja alustojen pirstoutumisesta. Tämä diplomityö tutkii vaihtoehtoisia ohjelmistokehysvaihtoja tiimille, joka tuottaa B2B mobiilisovelluksia Cordova:n avulla. Tavoitteena on valita ohjelmistokehys, joka parantaisi kehitysprosessia ja tuottaisi toiminnallisempia sovelluksia nopeammin. Kehitysprosessit arvioidaan tuottamalla sama demosovellus usealla eri ohjelmistokehyksellä. Ohjelmistokehykset arvioidaan niiden keskeisten ominaisuuksien ja demosovelluksen kehityksen tulosten perusteella. Lupaavimmat vaihtoedot esitellään. ABSTRACT Lappeenranta University of Technology School of Engineering Science Software Engineering Master's Programme in Software Engineering and Digital Transformation Anna Osipova Cross-platform mobile development frameworks: choosing the most suitable option for selected use case Master’s Thesis 94 pages, 18 figures, 9 tables, 1 appendix Examiners: Associate professor Jouni Ikonen Assistant professor Antti Knutas Keywords: software engineering, mobile applications, mobile development, software frameworks Mobile application development is challenging due to device and platform fragmentation. This thesis looks into alternative framework options for a team that develops B2B mobile applications using Cordova framework. The goal is to select a framework that would improve development process and provide more functional end applications faster. Development process of several frameworks is evaluated by implementing a similar demo application with each one. Frameworks are evaluated based on their key characteristics and demo application implementation results and the most promising options are presented. ACKNOWLEDGEMENTS I would like to express my deepest gratitude to my supervisors Antti Knutas and Jouni Ikonen for their help and support with this work and for sticking with me despite my terrible scheduling skills. Thanks goes to my family and friends who believed in me when I didn’t and kept kicking me until I did it. TABLE OF CONTENTS 1 INTRODUCTION ............................................................................................................ 6 1.1 MOTIVATION FOR THIS RESEARCH .................................................................. 6 1.2 SOLUTION TO THE DESCRIBED PROBLEM ...................................................... 8 1.3 RESEARCH METHODS ........................................................................................... 9 1.4 SCOPE ...................................................................................................................... 12 1.5 STRUCTURE OF THE THESIS .............................................................................. 12 2 LITERATURE REVIEW .............................................................................................. 13 2.1 EVOLUTION OF MOBILE DEVICES ................................................................... 13 2.2 MOBILE APPLICATIONS ...................................................................................... 15 2.3 MOBILE APPLICATION DEVELOPMENT AND RELATED CONCERNS ...... 16 2.4 MOBILE APPLICATION PLATFORMS ............................................................... 17 2.4.1 iOS platform .................................................................................................................................... 19 2.4.2 Android platform ............................................................................................................................. 21 2.5 CROSS-PLATFORM DEVELOPMENT APPROACHES...................................... 24 2.5.1 Hybrid approach .............................................................................................................................. 26 2.5.2 Interpreted approach ........................................................................................................................ 27 2.5.3 Cross compiled approach ................................................................................................................ 28 2.6 CPMDF POPULARITY AMONG DEVELOPERS ................................................ 29 2.7 COMPARISON AND SELECTION CRITERIA OF CPMDFS ............................. 34 2.8 RELATED RESEARCH .......................................................................................... 35 3 FRAMEWORK EVALUATION................................................................................... 39 3.1 DEMO APPLICATION ........................................................................................... 39 3.2 RUBYMOTION ....................................................................................................... 40 3.2.1 Advantages ...................................................................................................................................... 40 3.2.2 Disadvantages.................................................................................................................................. 41 1 3.2.3 Demo application ............................................................................................................................ 42 3.2.4 Reflections ....................................................................................................................................... 43 3.3 NATIVESCRIPT ...................................................................................................... 44 3.3.1 Advantages ...................................................................................................................................... 44 3.3.2 Disadvantages.................................................................................................................................. 45 3.3.3 Demo application ............................................................................................................................ 46 3.3.4 Reflections ....................................................................................................................................... 47 3.4 XAMARIN ............................................................................................................... 48 3.4.1 Advantages ...................................................................................................................................... 48 3.4.2 Disadvantages.................................................................................................................................. 49 3.4.3 Demo application ............................................................................................................................ 49 3.4.4 Reflections ....................................................................................................................................... 50 3.5 REACT NATIVE ..................................................................................................... 51 3.5.1 Advantages ...................................................................................................................................... 52 3.5.2 Disadvantages.................................................................................................................................. 53 3.5.3 Demo application ............................................................................................................................ 54 3.5.4 Reflections ....................................................................................................................................... 55 3.6 IONIC ....................................................................................................................... 55 3.6.1 Advantages ...................................................................................................................................... 56 3.6.2 Disadvantages.................................................................................................................................. 56 3.6.3 Demo application ............................................................................................................................ 57 3.6.4 Reflections ....................................................................................................................................... 58 3.7 CORDOVA ............................................................................................................... 58 3.7.1 Advantages .....................................................................................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    94 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us