Hae it-yrityksiä
osaamisalueittain:

Asiakkuudenhallinta CRM BI ja raportointi HR Tuotekehitys ja suunnittelu Toiminnanohjaus ERP Taloushallinto Markkinointi Webkehitys Mobiilikehitys Käyttöliittymäsuunnittelu Tietoturva Verkkokaupparatkaisut Ohjelmistokehitys Integraatiot Pilvipalvelut / SaaS Tekoäly (AI) ja koneoppiminen Lisätty todellisuus ja VR Paikkatieto GIS IoT Microsoft SAP IBM Salesforce Amazon Web Services Javascript React PHP WordPress Drupal

Flutter - mobiiliohjelmisto alustojen tuore tulokas

BloggausFlutter on viime aikoina tullut IT-alalla paljon puhutuksi aiheeksi. Kyseessä on Googlen kehittämä ilmainen, avoimen lähdekoodin ohjelmistoalusta, joka mahdollistaa kehityksen kustannustehokkaasti tuottaen teholtaan laitenatiiveihin ohjelmistoihin verrattavissa olevia kauniita käyttöliittymiä muun muassa mobiililaitteisiin.

Kustannustehokkuus syntyy kehitystyön sujuvuudesta ja ennen kaikkea siitä, että sama lähdekoodi kääntyy, sekä Googlen Android laitteille, että Applen iOS laitteille ja lisäksi desktopille ja web sivustoksi.

Kauniit käyttöliittymät mahdollistavat Flutterin kattavat käyttöliittymäkirjastot, joista löytyy ulkoasu jokaisen ohjelmoijan makuun ja jos ei löydy, sen voi kirjoittaa itse.

Flutterin historiaa

Alun alkaen Flutter suunniteltiin hyvin erilaiseen tarkoitukseen. Sen oli tarkoitus toimia nopeana kääntäjänä ja mahdollistaa julkaisujen koon pienentäminen.

Ensimmäinen hyvin suppea versio 0.0.6 julkaistiin 23.10.2014 nimellä Open the Sky, josta tuotteen nimeksi asettui Sky Engine. Tällä esiteltiin hot reload - ominaisuutta Android puhelimiin. Aiemman 7 minuutin kääntö ajan sijaan Sky Engine kykeni tekemään saman 400 millisekunnissa. Tuotteen esitteli Dart Summitissa 5.4.2015 Eric Seidel Googlen Chrome tiimistä.

Hyvin pian huomattiin alustalla olevan paljon potentiaalia ja nimi muuttui lakiosaston toiveesta Flutter -muotoon vuoteen 2016 mennessä.

Ensimmäinen Alpha -julkaisu tapahtui 2017 ja ensimmäinen tuotantoversio - 1.0.0 - julkaistiin joulukuussa 2018. Se sisälsi jo mittavan määrän ominaisuuksia alkuperäiseen verrattuna. Se mahdollisti mobiiliohjelmistojen tuotanto versioiden kehittämisen iOS ja Android alustoille. Lisäksi saman ohjelmiston pystyi julkaisemaan webversiona. Aika hurjaa, sillä vastaavaa ei ollut aikaisemmin nähty.

Maaliskuussa 2021 julkaistiin Flutterin versio 2. Tällöin Googlen Play Storessa oli jo 150 000 Flutterilla kehitettyä julkaisua.

Toukokuussa 2022 julkaistiin Flutter versio 3, jolloin julkaisuja oli yli 500 000.

Vuonna 2019 mobiilialustojen kehittäjistä 32% käytti Flutteria. Vuoteen 2021 mennessä määrä oli kasvanut jo 42%:iin kilpaillen eniten käytetystä mobiilikehitysalustasta React Nativen kanssa.

Flutterin käyttötarkoitus ja arkkitehtuuri

Flutterin ajatuksena on tuottaa näyttäviä käyttöliittymiä nopeasti ja kustannustehokkaasti. Se soveltuu erityisen hyvin perusohjelmistoihin, jotka vaativat verkkosivuston tapaista perustoiminnallisuutta. Esimerkiksi verkkokaupat, erilaiset hallintajärjestelmät, rekisteröinti sovellukset ja vaikkapa sosiaalinen media.

Flutter on rakennettu Dart-kielen päälle. Dart perii syntaksinsa ALGOL-kielistä C:n C#:in, Javan, Javascriptin ja monen muun tapaan. Näin ollen se on helppo omaksua, jos hallitsee mitä tahansa samaan kieliperheeseen kuuluvaa kieltä.

Rakenteeltaan se on hierarkinen ja modulaarinen. Ohjelmoija käsittelee objekteja, joita kutsutaan widgeteiksi.

Käytännössä ohjelma on rakenteeltaan puun muotoinen, jossa suoritus aloitetaan juuri-widgetistä, jolla taas on lapsi-widgettejä, joilla taas on lapsi-widgettejä… jne.

Jokaisella Widgetillä on muokattavia ominaisuuksia, joita asettamalla saadaan aikaan haluttu ulkoasu tai toiminnallisuus käyttöliittymälle. Valmiiden widgettien kirjasto on kattava ja niitä voi luoda tarvittaessa lisää.

 

Kehitysympäristö ja julkaiseminen

Flutterin kehitys on ohjelmistojen suhteen edullista. Siihen riittää ilmainen sdk ja ilmainen Visual Studio Code koodi muokkain.

Kustannuksia muodostaa käyttöliittymä, jossa ohjelmistoa kehitetään. Linux ja Windows ympäristöissä voi kehittää vain Android sovelluksia. iOS ja MacOS kehitys vaatii Mac-tietokoneen. Mac ympäristössä voidaan kehittää sekä Android, että iOS sovelluksia. Kyseessä on Applen politiikka, että Applen alustoille käännettäessä vaaditaan XCode-kehitysympäristö.

Julkaiseminen Googlen PlayStoreen maksaa tällä hetkellä noin 25 € / julkaisu ja Applen AppStoreen julkaistaan ohjelmistoja Apple Developer vuosilisenssillä, joka kustantaa noin 100 € / tiimi.

Käytännössä kaikki kehitysalustat kattavan kehitysympäristön kustannukset ovat seuraavat:

  • Apple Mac-kone, jonka hinta lähtee 750 eurosta ylöspäin (Mac mini M2). Käytännössä kohtuullinen kehityskäyttöön soveltuva laite maksaa noin 2500 € (Apple Macbook Pro)
  • Developer-lisenssi noin 100 € / vuosi

Kehitettävästä ohjelmistosta riippuen luonnollisesti vaaditaan kehitys- ja tuotantopalvelimia verkko-ominaisuuksia varten. Näiden kokoonpanojen hinta riippuu pilvipalvelun tarjoajasta, mutta halvimmillaan virtuaalikoneen saa vuokrattua muutamalla kympillä. Ammattimaiseen tuotantoon kustannukset luonnollisesti kasvavat samassa suhteessa käyttäjämäärän kanssa.

Miksi Flutter?

Flutter on erittäin kustannustehokas ja helposti ylläpidettävä. Yhdellä ja samalla koodipohjalla voidaan luoda mobiiliapplikaatioita, jotka kattavat yli 99% nykyisestä puhelimista.

Flutter on tuoreudestaan huolimatta hyvin ylläpidetty ja dokumentoitu, sillä on laaja aktiivinen käyttäjäyhteisö ja valmiita kirjastoja erilaisiin tarkoituksiin löytyy lukemattomia.

Ohjelmisto syntyy nopeammin yksinkertaisen ja hyvin dokumentoidun rakenteen vuoksi ja tuottaa näin selkeää kustannussäästöä kehityksen aikana.

Flutter on nopea. Se pärjää performanssi testeissä erinomaisesti verrattuna moniin kilpaileviin alustoihin.

Flutter on maailmanlaajuisesti suosittu ja hyväksi havaittu. Google Trendsin mukaan mobiilikehitysalustoista Flutter on trendannut vuodesta 2019 lähtien monin verroin paremmin kuin kilpailijansa - kuten Kotlin tai React Native.

 

Mikä Flutterissa on huonoa?

Flutterin ohjelmistojen koko vertailuissa toiseksi suurin. 

Kääntäjät kehittyvät, mutta tällä hetkellä pienenkin applikaation koko on moninkertainen suhteessa natiiveihin ohjelmointikieliin. Tämä saattaa muodostua ongelmaksi laajoissa ohjelmistoissa vanhemmilla puhelinmalleilla, joiden muistikapasiteetti on pienempi.

Flutter kehittäjiä on vaikea löytää

Koska Flutter on suhteellisen tuore ohjelmistoalusta, sitä hallitsevia kehittäjiä on vaikea löytää.

Kehittäjät tuntevat arvonsa ja siksi myös Flutterin hallitsevat kehittäjät ovat myös kalliita. Kuitenkin suhteessa esimerkiksi Kotlin-kehittäjiin tai natiiveja mobiilikehitys kieliä hallitseviin on kehittäjäkustannus edullisempi.

Siirtyminen muista ohjelmointikielistä Flutteriin ei ole vaikeaa, vaan vaatii tietyn oppimiskäyrän

Dart ohjelmointikielenä on nykyaikana suhteellisen vähän käytetty. Huolimatta samankaltaisuudestaan valtakielien kanssa, sen käyttö vaatii perusominaisuuksien ja rakenteiden tuntemista. Siirtyminen muista ohjelmointikielistä ei ole vaikeaa, mutta vaatii tietyn oppimiskäyrän. Ohjelmoijatiimin ei siis ole kustannusteknisesti järkevää alkaa opettelemaan Flutteria, ellei sen katsota olevan yrityksen pitkän ajan strategian kannalta järkevää.

Mihin Flutter ei sovi?

Koska Flutter on käyttöliittymään keskittyvä ohjelmistokirjasto, se ei sovellu erityisen hyvin mobiilipeli kehitykseen, vaikka ne ovatkin mahdollisia. Parempi vaihtoehto on performanssin kannalta natiivit ohjelmistot. Myös paljon resursseja vaativa kuva- ja videoeditointi on tehokkaampaa natiiveilla ohjelmointikielillä.

Yhteenveto

Flutter on erittäin suosittu ja hyvin tuettu kehitysalusta. Kustannustehokkuutensa ansiosta se on varma valinta ohjelmistokokonaisuuden arkkitehtuuria suunniteltaessa. Varmistettavaksi vain jää ohjelmistokehittäjien saatavuus.

Pois lukien nämä paljon prosessointia vaativat ominaisuudet Flutter sopii lähes kaikkeen mobiiliohjelmisto tuotantoon ja on jo Googlen tuella olemaan mobiilikehityksessä varteenotettava vaihtoehto jo pelkästään hintansa puolesta.

Altoros tarjoaa Flutterkonsultteja, sekä arkkitehtuuri- että UI/UXsuunnitteluun ja ohjelmistokehitykseen.

Kysy lisää: Ari Mutanen puh. 050 568 0532

Kirjoittaja: Antti Winter

Lisätiedot: antti.winter@altoros.com ja ari.mutanen@altoros.com

Pinterest
Altoros Finland Oy logo

Lisätietoja

Yritysprofiili Altoros Finland kotisivut

Tagit

Jos tarjontatagi on sininen, pääset klikkaamalla sen kuvaukseen

Liiketoimintaprosessi

Projektinhallinta
Tietohallinto
Tuotekehitys ja suunnittelu

Erikoisosaaminen

Arkkitehtuuri
Mobiilikehitys
Ohjelmistokehitys
Webkehitys

Toimialakokemus

IT

Teknologia

Google
Open source
Android
iOS
Windows Phone
Flutter

Tarjonnan tyyppi

Konsultointi

Siirry yrityksen profiiliin Altoros Finland kotisivut Yrityshaku Referenssihaku Julkaisuhaku

Altoros Finland - Asiantuntijat ja yhteyshenkilöt

Altoros Finland - Muita referenssejä

Altoros Finland - Muita bloggauksia

Digitalisaatio & innovaatiot blogimedia

Blogimediamme käsittelee tulevaisuuden liiketoimintaa, digitaalisia innovaatioita ja internet-ajan ilmiöitä

Etusivu Yrityshaku Pikahaku Referenssihaku Julkaisuhaku Blogimedia