Flutter-ohjelmointikehyksen evaluointi
Vulli, Heidi (2019)
Vulli, Heidi
2019
Tietotekniikan DI-ohjelma - Degree Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2019-11-07
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-201910254089
https://urn.fi/URN:NBN:fi:tuni-201910254089
Tiivistelmä
Flutter on Googlen kehittämä alustariippumaton ohjelmistokehys, joka käyttää ohjelmointikielenään Dart-kieltä, joka on myös Googlen luoma. Dart on luokkapohjainen, puhdas olioperusteinen ohjelmointikieli varustettuna staattisella tyypityksellä, sekä yksinkertaisella periytymisellä. Kieli muistuttaa ilmaisultaan suosittuja ohjelmointikieliä, kuten C# ja JavaScript. Flutter eroaa muista alustariippumattomista teknologioista sen uniikin arkkitehtuurin avulla. Teknologia ei käytä hyväkseen natiiveja komponentteja, vaikka sen avulla pystytään tekemään natiivien sovelluksien tasoisia applikaatioita. Sen sijaan Flutter käyttää omia komponenttejaan, widgetejä, jotka ovat koko teknologian perusta. Widgetit voidaan jakaa kolmeen eri kategoriaan: peruswidgetit, Androidsovelluksille tyypillisiä ominaisuuksia omaavat Material-widgetit, sekä iOS-sovelluksille tyypillisiä ominaisuuksia omaavat Cupertino-widgetit. Flutterissa ohjelmia luodaan asettelemalla widgetejä sisäkkäin. Flutterin omalaatuisen arkkitehtuurin johdosta teknologian suorituskyky on lähes kaksi kertaa parempi kuin React Nativella.
Diplomityön tarkoituksena oli evaluoida Flutteria useiden eri kriteerien avulla ja selvittää, voidaanko teknologia ottaa käyttöön finanssialan ohjelmointikonsultointiyrityksessä, Profit Software Oy:ssä. Evaluointikriteerit jaettiin neljään eri ryhmään: infrastruktuuri-, kehitys-, sovellus- ja käytettävyyskriteerit, joiden koettiin kattavan hyvin sovelluksien kehitykseen liittyvät seikat, sekä Profitin tarpeet. Soveltuvuuden arviointia varten kehitettiin myös prototyyppisovellus Flutter-teknologialla, joka annettiin diplomityön valmistumisen jälkeen Profitille vapaasti käytettäväksi.
Tutkimuksen tulosten perusteella Flutter ei vielä työn kirjoitushetkellä ole tarpeeksi vakaa teknologia Profitin tarpeisiin ainakaan isoissa ohjelmointiprojekteissa. Vaikka teknologia on pyritty vakauttamaan julkaisemalla suurempia versioita vain kvartaaleittain, eivät ne ole aiemmin olleet taaksepäin yhteensopivia. Tässä vaiheessa teknologian kehitystaivalta tämä on vielä suuri riski, sillä uusien versioiden mukana tulevia uusia ominaisuuksia ei välttämättä pysty ottamaan käyttöön riskeeraamatta edellisessä toteutuksessa toimineita ominaisuuksia. Flutter ei myöskään vielä omaa valmiita kirjastoja ja toteutuksia läheskään yhtä paljon kuin kilpailijat, mikä hidastaa kehitysprosessia. Toisaalta kuitenkin Flutterin ohjelmointikieli Dart muistuttaa monelle kehittäjälle jo ennestään tuttuja ohjelmointikieliä, mikä nopeuttaa teknologian omaksumista. Tämän lisäksi Flutterin dokumentaatio on laaja ja aloittelevat kehittäjät löytävät helposti apua ongelmiinsa Flutterin nettisivujen kautta. Flutterissa on paljon hyvää ja sen tulevaisuus näyttää kirkkaalta, jos vain Google pysyy teknologiansa takana. Flutteria voidaan suositella käytettäväksi Profitilla jo vaikka heti pienissä mobiiliprojekteissa, joiden tarkoituksena on todistaa suunniteltu konsepti oikeaksi.
Diplomityön tarkoituksena oli evaluoida Flutteria useiden eri kriteerien avulla ja selvittää, voidaanko teknologia ottaa käyttöön finanssialan ohjelmointikonsultointiyrityksessä, Profit Software Oy:ssä. Evaluointikriteerit jaettiin neljään eri ryhmään: infrastruktuuri-, kehitys-, sovellus- ja käytettävyyskriteerit, joiden koettiin kattavan hyvin sovelluksien kehitykseen liittyvät seikat, sekä Profitin tarpeet. Soveltuvuuden arviointia varten kehitettiin myös prototyyppisovellus Flutter-teknologialla, joka annettiin diplomityön valmistumisen jälkeen Profitille vapaasti käytettäväksi.
Tutkimuksen tulosten perusteella Flutter ei vielä työn kirjoitushetkellä ole tarpeeksi vakaa teknologia Profitin tarpeisiin ainakaan isoissa ohjelmointiprojekteissa. Vaikka teknologia on pyritty vakauttamaan julkaisemalla suurempia versioita vain kvartaaleittain, eivät ne ole aiemmin olleet taaksepäin yhteensopivia. Tässä vaiheessa teknologian kehitystaivalta tämä on vielä suuri riski, sillä uusien versioiden mukana tulevia uusia ominaisuuksia ei välttämättä pysty ottamaan käyttöön riskeeraamatta edellisessä toteutuksessa toimineita ominaisuuksia. Flutter ei myöskään vielä omaa valmiita kirjastoja ja toteutuksia läheskään yhtä paljon kuin kilpailijat, mikä hidastaa kehitysprosessia. Toisaalta kuitenkin Flutterin ohjelmointikieli Dart muistuttaa monelle kehittäjälle jo ennestään tuttuja ohjelmointikieliä, mikä nopeuttaa teknologian omaksumista. Tämän lisäksi Flutterin dokumentaatio on laaja ja aloittelevat kehittäjät löytävät helposti apua ongelmiinsa Flutterin nettisivujen kautta. Flutterissa on paljon hyvää ja sen tulevaisuus näyttää kirkkaalta, jos vain Google pysyy teknologiansa takana. Flutteria voidaan suositella käytettäväksi Profitilla jo vaikka heti pienissä mobiiliprojekteissa, joiden tarkoituksena on todistaa suunniteltu konsepti oikeaksi.