Platform Solution in Flutter

Platform Solution in Flutter

Evaluation of The Software Development Process for A Multi- Platform Solution in Flutter Main Subject area: Computer Engineering Author: Dennis Andersson & Axel Axelsson Supervisor: Garrit Schaap JÖNKÖPING 2021 02 This final thesis has been carried out at the School of Engineering at Jönköping University within Computer Engineering. We are responsible for the presented opinions, conclusions, and results. Before we proceed, we would like to thank our supervisor Garrit Schaap who has guided and motivated us throughout this bachelor thesis. Examiner: Johannes Schmidt Supervisor: Garrit Schaap Scope: 15 hp (first-cycle education) Date: 2021-06-22 i Abstract Throughout the years of software development, the number of frameworks and software technologies have rapidly increased. This not only increases the difficulties of choosing the right software, but also makes it harder to find developers in a specific area. To create a multi-platform solution, a company would usually need competence in different areas such as frontend, backend, and mobile development. Such a solution requires an investment of a lot of time and resources. An alternative to developing a multi-platform solution opposed to the conventional way is with the software development kit created by Google called Flutter. The purpose of this bachelor thesis is to investigate the software development process when creating multi-platform solutions in Flutter. The study will point out eventual differences with the software development process between Flutter and conventional development. To achieve this, the study collected secondary research and conducted interviews with two developers who both worked with Flutter. In addition to this a Portfolio application was built during an experiment phase with a daily diary as the data collection process to validate the experiences given from the interview and secondary research. The results point towards some general benefits of using Flutter when creating multi-platform solutions. These benefits are only applicable when creating a product that shares the same user interface and have no OS specific features that requires need for deep integration into the targets device system. ii 1 Introduction ............................................................................. 7 1.1 DEFINITIONS ..................................................................................................... 7 1.1.1 Multi-platform solution ............................................................................ 7 1.2 BACKGROUND .................................................................................................. 7 1.3 PROBLEM STATEMENT ...................................................................................... 8 1.4 PURPOSE......................................................................................................... 10 1.5 RESEARCH QUESTIONS ................................................................................... 10 1.6 SCOPE AND LIMITATIONS ............................................................................... 10 1.7 DISPOSITION ................................................................................................... 10 2 Method and implementation ................................................ 12 2.1 APPROACH ..................................................................................................... 12 2.2 DATA COLLECTION ......................................................................................... 13 2.2.1 Desk Research ........................................................................................ 13 2.2.2 Interview process ................................................................................... 13 2.2.3 Comparative research method ................................................................ 14 2.2.4 Experiment ............................................................................................. 14 2.3 DATA ANALYSIS ............................................................................................ 14 2.3.1 Interview analysis .................................................................................. 14 2.4 VALIDITY AND RELIABILITY ........................................................................... 15 3 Theoretical framework ......................................................... 16 3.1 SOFTWARE DEVELOPMENT PROCESS .............................................................. 16 3.1.1 Planning ................................................................................................. 17 3.1.2 Design .................................................................................................... 17 3.1.3 Coding .................................................................................................... 17 3.1.4 Testing .................................................................................................... 18 3.1.5 Deployment ............................................................................................ 18 iii 3.1.6 Maintenance ........................................................................................... 18 3.2 FLUTTER......................................................................................................... 18 3.2.1 Widgets .................................................................................................. 19 3.2.2 Testing .................................................................................................... 21 3.2.3 Web-support ........................................................................................... 22 3.2.4 Flutter features ....................................................................................... 23 3.2.5 Architectural differences ........................................................................ 23 4 Experiment ............................................................................. 27 4.1 METHOD OF CHOICE ....................................................................................... 27 4.2 APPLICATION CONCEPT .................................................................................. 29 4.3 WORK PROCESS .............................................................................................. 29 5 Results ..................................................................................... 30 5.1 SOFTWARE DEVELOPMENT PROCESS ............................................................... 30 5.1.1 Interview data ......................................................................................... 30 5.2 PLANNING ...................................................................................................... 30 5.2.1 Interview data ......................................................................................... 30 5.2.2 Experiment data ..................................................................................... 31 5.3 CODING .......................................................................................................... 31 5.3.1 Interview data ......................................................................................... 31 5.3.2 Experiment data ..................................................................................... 32 5.4 DESIGN ........................................................................................................... 32 5.4.1 Interview data ......................................................................................... 32 5.4.2 Experiment data ..................................................................................... 33 5.5 TESTING ......................................................................................................... 33 5.5.1 Interview data ......................................................................................... 33 5.5.2 Experiment data ..................................................................................... 33 5.6 DEPLOYMENT ................................................................................................. 34 iv 5.6.1 Interview data ......................................................................................... 34 5.7 MAINTENANCE ............................................................................................... 34 5.7.1 Interview data ......................................................................................... 34 5.7.2 Experiment data ..................................................................................... 34 6 Analysis ................................................................................... 35 6.1 GENERAL........................................................................................................ 35 6.2 PLANNING ...................................................................................................... 35 6.3 CODING .......................................................................................................... 36 6.4 DESIGN ........................................................................................................... 37 6.5 TEST ............................................................................................................... 37 6.6 DEPLOYMENT ................................................................................................. 38 6.7 MAINTENANCE ............................................................................................... 38 7 Discussion ..............................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    65 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