
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 ..............................................................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages65 Page
-
File Size-