Flutter - mobiiliohjelmisto alustojen tuore tulokas
Flutter 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
Lisätietoja
Tagit
Liiketoimintaprosessi
Projektinhallinta | |
Tietohallinto | |
Tuotekehitys ja suunnittelu |
Erikoisosaaminen
Arkkitehtuuri | |
Mobiilikehitys | |
Ohjelmistokehitys | |
Webkehitys |
Toimialakokemus
IT |
Teknologia
Open source | |
Android | |
iOS | |
Windows Phone | |
Flutter |
Tarjonnan tyyppi
Konsultointi |
Altoros Finland - Asiantuntijat ja yhteyshenkilöt
Ari Mutanen
Sales, Business Development, Country Manager
I have been in business almost for three decades - first 10 years in technical development and consultancy tasks, then next 10 years in operational and leadership positions and .. | |
ari.mutanen@altoros.com +358505680532 |
|
Altoros Finland - Muita referenssejä
Altoros Finland - Muita bloggauksia
It- ja ohjelmistoalan työpaikat
- Laura - Hankinta-asiantuntija, tietohallinto
- Laura - Development Manager, Operations
- Laura - ICT-asiantuntija
- Laura - IT Manager
- Nordea - Senior Fullstack Developer
- Innofactor Oyj - Business Architect
- Laura - Cloud Engineer
Premium-asiakkaiden viimeisimmät referenssit
- SD Worx - Kehitystyö SD Worxin kanssa takaa Clas Ohlsonille parhaat palkanmaksun prosessit kasvun tiellä
- Digiteam Oy - Case Esperi Care Oy: Ketterä kumppanuus vei Esperin verkkosivu-uudistuksen maaliin sujuvasti ja aikataulussa
- Kisko Labs Oy - Howspace Hub - Mukautuva oppimisen hallintajärjestelmä kasvaviin oppimisalustavaatimuksiin
- Kisko Labs Oy - Sanoma Pro: Multimediasisältöjen hallinnan uudistaminen
- Kisko Labs Oy - Svean helppokäyttöinen palvelu asiakkaan verkko-ostosten hallintaan
- Kisko Labs Oy - Yhtenäinen käyttöliittymä luovien alojen ammattilaisille
- Codemate - Digitaalisen murroksen nopeuttaminen Flutterin avulla
Tapahtumat & webinaarit
- 27.11.2024 - Green ICT -ekosysteemitapaaminen III: Ohjelmistojärjestelmien virrankulutuksen mittaaminen ja kasvihuonepäästöjen arviointi
- 27.11.2024 - Digitaalisen asiakaskokemuksen uusi aikakausi
- 28.11.2024 - Webinaari: Keskity myyntityön laatuun!
- 28.11.2024 - Copilot-webinaari – Mielekkäämpää tietotyötä turvallisesti
- 04.12.2024 - Kuinka oikea matka- ja kululaskujärjestelmä tehostaa prosesseja?
- 05.12.2024 - Green ICT VICTIS -hankkeen kick off -tilaisuus
- 15.01.2025 - Datavastuullisuuden valmennus: hanki valmiudet vastuulliseen datan ja tekoälyn hyödyntämiseen
Premium-asiakkaiden viimeisimmät bloggaukset
- Zimple Oy - Pipedrive vai Hubspot? Kumpi kannattaa valita?
- SC Software Oy - Jatkuvat palvelut – asiakaslähtöistä kumppanuutta projekteista ylläpitoon
- Timeless Technology - Ohjelmoitavat logiikat (PLC): Ratkaisevat työkalut automaatioon ControlByWebiltä.
- Kisko Labs Oy - Heroku: Ohjelmistokehittäjän ykköstyökalu skaalautuvien sovellusten rakentamiseen
- SD Worx - Näin luot vakuuttavan Business Casen palkkahallinnon ulkoistukselle
- Timeless Technology - Kyberriskien tunnistaminen Profitap IOTA verkkoanalysaattorin avulla.
- GidiUp Oy - Ai hitto -päivä: Kun sesonki pääsee taas yllättämään
Digitalisaatio & innovaatiot blogimediaBlogimediamme käsittelee tulevaisuuden liiketoimintaa, digitaalisia innovaatioita ja internet-ajan ilmiöitä |