A Comparison of Performance and Looks Between Flutter and Native Applications: When to prefer Flutter over native in mobile application development
2020 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE credits
Student thesisAlternative title
En jämförelse mellan Flutter och native applikationer : När ska man välja Flutter över native för utveckling av mobila applikationer (Swedish)
Abstract [en]
A mobile application has to be able to keep up with heavy demands to compete with all the new applications that are developed each day. Good performance and nice visuals are base requirements for the development of mobile applications. There are many options for tools when developing and one of these choices is a native application, which is said to have better performance and suitability to the mobile environment. Another choice is a tool which requires only one code base for multiple platforms and is therefore easier to maintain. Flutter is an open-source User Interface (UI) toolkit created by Google that can create cross-platform applications with one code base while said to maintain the aspects of looking native.
This paper explores how Flutter compares to native applications, which are currently seen as superior in mobile behaviour and performance. An experiment was conducted to test how Flutter as a cross-compiler compared to two native applications made of kotlin and Android studio and swift and XCode, in terms of CPU performance. A survey was created to see if there was a difference in the perception of users with regards to appearance and animations. A literature study was conducted to strengthen the results from the experiment and survey and to give a background to the subject.
Flutter is a new tool and it continues to grow incredibly fast. Conclusions are drawn that a Flutter application can compete with a native application when it comes to CPU performance, but is not as developed in the animation area. Flutter does not require complex code for creating a simple application and uses significantly less lines of code in development compared to native. The final conclusion is that Flutter is best to use when building smaller to medium-sized applications, but has a potential to grow to overcome its current drawbacks in the animation department. Further examination of the areas examined in this paper is needed in order to ensure and strengthen the results.
Place, publisher, year, edition, pages
2020. , p. 49
Keywords [en]
Flutter, Cross-platform, Native, Performance, Mobile Applications
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-19712OAI: oai:DiVA.org:bth-19712DiVA, id: diva2:1442804
External cooperation
Consid Karlskrona
Subject / course
PA1445 Kandidatkurs i Programvaruteknik
Educational program
PAGWE Web Programming
Presentation
(Swedish)
Supervisors
Examiners
2020-06-222020-06-172020-06-22Bibliographically approved