Incorporating Maps into Flutter: A Study of Mapping SDKs and Their Integration into a Cross-Platform Navigation Application
Ushakov, Sergey (2024)
Ushakov, Sergey
2024
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202402142902
https://urn.fi/URN:NBN:fi:amk-202402142902
Tiivistelmä
The thesis evaluates various mapping SDKs for integration into a Flutter-based navigation application, Vedu - Tallinn Transport. The study aims to identify the most suitable map SDK by comparing Google Maps, Mapbox, and flutter_map SDKs in terms of performance, feature set, cost, and developer experience. The study is critical for the application's success, given its reliance on mapping functionality. The thesis provides insights into the optimal choice of map SDK for cross-platform development in Flutter.
The SDKs were evaluated based on compatibility with the aforementioned requirements. Each SDK was studied, benchmarked, and compared on a set of quantitative and subjective key metrics. Quantitative benchmarks consisted of measurements of performance, resource consumption and pricing. SDKs were subjectively ranked from best to worst on account of documentation quality and overall developer experience.
flutter_map SDK was found to be the most suitable candidate for future application development, based on its low cost, high customizability, and Flutter-native design. Moreover, limitations were found in SDKs that augment platform-native code, such as Mapbox or Google Maps SDKs, by looking into Flutter’s architecture. The main limitation was found to be Hybrid Composition, mostly affecting performance. Secondary limitations were API design and a complex mechanism to control a marker’s presentation, among others.
In conclusion, this study not only identifies the optimal SDK for Flutter-based applications but also contributes to a broader understanding of integrating mapping technologies in cross-platform mobile development, underscoring the importance of tailored solutions in the evolving landscape of mobile application development.
The SDKs were evaluated based on compatibility with the aforementioned requirements. Each SDK was studied, benchmarked, and compared on a set of quantitative and subjective key metrics. Quantitative benchmarks consisted of measurements of performance, resource consumption and pricing. SDKs were subjectively ranked from best to worst on account of documentation quality and overall developer experience.
flutter_map SDK was found to be the most suitable candidate for future application development, based on its low cost, high customizability, and Flutter-native design. Moreover, limitations were found in SDKs that augment platform-native code, such as Mapbox or Google Maps SDKs, by looking into Flutter’s architecture. The main limitation was found to be Hybrid Composition, mostly affecting performance. Secondary limitations were API design and a complex mechanism to control a marker’s presentation, among others.
In conclusion, this study not only identifies the optimal SDK for Flutter-based applications but also contributes to a broader understanding of integrating mapping technologies in cross-platform mobile development, underscoring the importance of tailored solutions in the evolving landscape of mobile application development.