React Native -sovelluksen siirtäminen Flutter-tekniikalle
Ervasti, Aleksi (2023)
Ervasti, Aleksi
2023
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023121838082
https://urn.fi/URN:NBN:fi:amk-2023121838082
Tiivistelmä
Tässä opinnäytetyössä oli tarkoituksena perehtyä Flutter-tekniikkaan sekä siirtää React Nativella Expoa käyttäen kehitetty Android-sovellus Flutterille ja samalla raportoida, millaisia yhtäläisyyksiä ja eroja näillä kirjastoilla syntyy kyseisen sovelluksen puitteissa.
Opinnäytetyö keskittyi React Nativen ja Flutterin vertailuun sovelluksen siirron ohessa. Opinnäytetyössä käytettiin sovelluksen kehittämiseen seuraavia työkaluja: Flutter SDK, Google Maps SDK, Visual Studio Code, Firebasen reaaliaikainen tietokanta, Firebasen Authentication-palvelu ja Android-laite.
Flutter ja React Native ovat samankaltaisia ohjelmistokehityspaketteja logiikaltaan, mutta ohjelmoinnissa suurimmat eroavaisuudet syntyivät Dartin vahvasta tyypityksestä verrattuna JavaScriptin heikkoon tyypitykseen. React Native tekee taustalla paljon asioita, kuten muuttujien tyypin muuntamista sopivaksi haluttuun operaatioon, kun taas Flutterissa tällaiset asiat piti kirjoittaa itse. Flutter on suorituskyvyltään tehokkaampi kuin React Native, minkä takia sen suosio tulevaisuudessa voi kasvaa. The purpose of this thesis was to learn Flutter technology, and report differences and similarities between React Native and Flutter by comparing them while transferring an application developed with React Native and Expo to Flutter.
The thesis focused on comparison of React Native and Flutter. Following tools were used in the development of the application: Flutter SDK, Google Maps SDK, Visual Studio Code, Firebase real-time database, Firebase Authentication-service, and an Android-device.
Flutter and React Native are quite similar software development kits by their logic, but the biggest differences in programming came from Dart’s sound typing compared to JavaScript’s weak typing. React Native does a lot of things in the background, such as converting the type of a variable to suit the given operation you want, while in Flutter you had to write such things yourself. Flutter is more efficient than React Native in terms of performance, which is why its popularity may rise in the future.
Opinnäytetyö keskittyi React Nativen ja Flutterin vertailuun sovelluksen siirron ohessa. Opinnäytetyössä käytettiin sovelluksen kehittämiseen seuraavia työkaluja: Flutter SDK, Google Maps SDK, Visual Studio Code, Firebasen reaaliaikainen tietokanta, Firebasen Authentication-palvelu ja Android-laite.
Flutter ja React Native ovat samankaltaisia ohjelmistokehityspaketteja logiikaltaan, mutta ohjelmoinnissa suurimmat eroavaisuudet syntyivät Dartin vahvasta tyypityksestä verrattuna JavaScriptin heikkoon tyypitykseen. React Native tekee taustalla paljon asioita, kuten muuttujien tyypin muuntamista sopivaksi haluttuun operaatioon, kun taas Flutterissa tällaiset asiat piti kirjoittaa itse. Flutter on suorituskyvyltään tehokkaampi kuin React Native, minkä takia sen suosio tulevaisuudessa voi kasvaa.
The thesis focused on comparison of React Native and Flutter. Following tools were used in the development of the application: Flutter SDK, Google Maps SDK, Visual Studio Code, Firebase real-time database, Firebase Authentication-service, and an Android-device.
Flutter and React Native are quite similar software development kits by their logic, but the biggest differences in programming came from Dart’s sound typing compared to JavaScript’s weak typing. React Native does a lot of things in the background, such as converting the type of a variable to suit the given operation you want, while in Flutter you had to write such things yourself. Flutter is more efficient than React Native in terms of performance, which is why its popularity may rise in the future.