Flutter – Googlen vaihtoehto mobiilikehitykseen

18.3.2020 12:00

Flutter on noussut nopeasti markkinajohtajaksi React Nativen rinnalle, sekä haastajaksi muille cross-platform -teknologioille ja natiivikielellä tehtävälle (esim. Java) mobiilisovelluskehitykselle. 

Flutterilla tehtyjä mobiilisovelluksia käyttävät useat tunnetut brändit, mm. Google itse, BMW, eBay ja monta muuta isoa toimijaa. Flutter soveltuu käyttäjälähtöisyyden ja kehittäjäystävällisyyden vuoksi kuitenkin mainiosti myös pienemmille markkinoille ja kevyempiin toteutuksiin. 

Keräsimme tähän blogitekstiin mobiilikehittäjiemme ajatuksia Flutterin tarjoamista mahdollisuuksista. Jatka lukemista ja tutustu uuteen, suosittuun tapaan tehdä mobiiliapplikaatioita!

Flutter pähkinänkuoressa

Flutter on Googlen kehittämä ohjelmistopaketti (engl. Software Development Kit eli SDK), joka soveltuu modernien ja laadukkaiden mobiili-, web- ja työpöytäsovellusten käyttöliittymien toteuttamiseen. 

Kuten React Native, myös Flutter on avoimen lähdekoodin ilmainen ohjelmistokehys eli framework, jota kehittäjät voivat muokata omiin tarpeisiinsa sopivaksi. Flutterin kehittäjäyhteisö on jo nyt hyvin laaja ja arvostettu.

Flutterin ohjelmointikieli on Googlen kehittämä Dart, joka on ohjelmistokehityksen kentällä vielä aika uusi tulokas. Dart muistuttaa mm. Java- ja C# -ohjelmointikieliä, ja se on kehitetty nimenomaan modernin mobiilikehityksen tarpeisiin.

Applikaatiot Android- ja iOS-laitteille yhdellä lähdekoodilla

Flutterin tärkein hyöty on, että mobiilisovellus valmistuu yhdestä lähdekoodista sekä Android- että iOS -käyttöjärjestelmille. Se nopeuttaa kehittämistä ja vapauttaa resursseja, sillä lähdekoodia ei tarvitse kirjoittaa erikseen useille erilaisille järjestelmille.

Flutterin vahvuuksia ovat entistä yhtenäisemmän näköiset käyttöliittymät ja vakaammin toimivat sovellukset. Kun mobiiliapplikaation käyttöliittymä toimii samoin sekä Android- että iOS-laitteilla, selvitään pienemmällä työllä myöhemmissä ylläpito- ja jatkokehitysvaiheissa. 

Flutter on varsin muovautuva, joustava ja kehityskelpoinen teknologia mobiilikehitykseen, eikä Flutterin käyttö aina edellytä edes uuden, kokonaisen sovelluksen rakentamista. Flutterilla toteutettu sovellus voidaan tehdä esimerkiksi Progressive Web App -tyyliin (nk. PWA-sovellus), lopputuote voi olla hybridisovellus, johon on tuotu mukaan osa natiivi- ja web-sovellusten parhaista puolista, tai Androidille tehtyyn natiiviapplikaatioon voidaan lisätä Flutterin oma moduuli.

Käyttöliittymä rakennetaan widgeteillä

Flutterilla toteutettavat käyttöliittymät rakennetaan käyttäen widgettejä eli ohjelmistokomponentteja, joiden tarkoituksena on ryhmitellä sisältöjä tietyn ominaisuuden tai käyttötarkoituksen mukaan. Flutterin kehitysympäristössä on valmiina useita kehittäjälle hyödyllisiä widgettejä.

Widgetteihin sijoitettuja sisältöjä, kuten tekstejä, kuvia, animaatiota, lisättyä todellisuutta, elementtien asetteluja sekä toiminnallisuuksia muokataan ja yhdistellään siten, että lopputuloksena on yhtenäinen, helppokäyttöinen ja visuaalisesti miellyttävä sovellus. 

Tällainen komponentteihin ja ryhmittelyyn perustuva kehittäminen mahdollistaa lukemattomia erilaisia yhdistelmiä ja tyylittelyjä. Siksi myös asiakkaan yksilölliset tarpeet ja toivotut ominaisuudet voidaan toteuttaa ilman, että joudutaan tinkimään visuaalisesta yhdenmukaisuudesta tai toimintojen selkeydestä.

Tehokasta koodausta ja lisää suorituskykyä

Flutterin avulla mobiilisovellusten kehittäminen on nopeampaa kuin monilla perinteisillä menetelmillä. Koska Flutter kääntyy suoraan natiivikoodiksi, on se myös suorituskykyisempi kuin esimerkiksi React Native.

Natiivisovelluksia koodaavan mobiilikehittäjän tulee kääntää koko sovellus ensin käyttöjärjestelmään sopivaksi paketiksi, ja vasta sen jälkeen koodiin tehtyjä muutoksia voidaan arvioida sovelluksessa. Flutterilla koodin esikatselu on nopeampaa, sillä kehittäjä voi käyttää Flutterin omaa “hot reload” -ominaisuutta, jolloin koodimuokkausten vaikutukset sovelluksen käyttöliittymään voidaan todeta reaaliajassa. 

Helppoa ylläpitoa ilman kolmansia osapuolia

Erillisiä lisäpaketteja ei tarvitse asentaa, päivittää ja ylläpitää, koska Flutterin kehitysympäristö on itsessään varsin monipuolinen ja laaja. Yhtenäisen sovelluspaketin ja lisäosattomuuden selkein hyöty on se, että sovellus ei ole riippuvainen kolmansien osapuolten toteutuksista. 

Pisteenä iin päällä on Flutterin laaja dokumentaatio. Hyvästä dokumentaatiosta on etua etenkin silloin, kun ohjelmointikieli ja kehitysympäristö ovat vielä verrattain nuoria, ja kehittäjäyhteisö osallistuu aktiivisesti ratkaisujen työstämiseen sekä uusien kehityssuuntien luomiseen. 

Lisää Flutter-sovelluksia!

Melkein kaksi vuotta sitten kirjoitimme blogiimme React Nativesta (React Native – Tehokkaampaa mobiilikehitystä). Tuon jälkeen Google julkaisi Flutterin, joka on kehittynyt varsin päteväksi mobiilikehityksen työkaluksi ja tervetulleeksi vaihtoehdoksi React Nativelle.

Erilaisissa teknologioissa on omat hyvät puolensa. Flutter soveltuu erityisesti mobiilikehitysprojektiin, jossa loppukäyttäjän laitteen suoritusteho saattaa määritellä sovelluskehitystä, käyttöliittymän tulee olla tiivis ja selkeä, ja graafiset valinnat noudattavat nykyaikaisten mobiilikäyttäjien tarpeita. 

Autamme mielellämme sinua valitsemaan sopivimmat kehitystyökalut ja -paketit, joilla liiketoimintasi tueksi toteutettu mobiilisovellus toimii hurjan hyvin, näyttää nykyaikaiselta ja on toteutettu modernilla tavalla ja kustannustehokkaasti. 

Ota yhteyttä ja kerro toiveistasi, niin laitetaan meidän mobiilikehitystiimi hommiin! 

Jos haluat vielä tutustua Flutteriin tarkemmin ja katsella erilaisia toteutuksia, löytyy Flutterilta informatiiviset sivut, jonne pääset tästä linkistä: https://flutter.dev/.