A Flutter népszerűsége 2017-es megjelenése óta gyors ütemben növekszik mind a nagy cégek, mind a fejlesztők körében. A vállalatok részéről költséghatékonysága az egyik fő indok, míg a fejlesztők többek között könnyű használhatósága és időtakarékossága miatt kedvelik.
Egy korábbi webináriumunkon ezért úgy döntöttünk, jobban is utánajárunk ennek a fiatal keretrendszernek és három szakértő segítségével boncolgattuk a Flutterben rejlő lehetőségeket.
Az alábbiakban a Barczi Bálint,a Supercharge iOS fejlesztője, Illés Péter, a Further Digital Solutions alapítója és Vogel Csongor, a BME Flutter képzésének egyik oktatója által megosztott gondolatokat rendeztük három fő kérdés köré.
Ha pedig kíváncsi vagy a teljes webináriumra, az alábbi linkekre kattintva visszanézheted Youtube csatornánkon vagy visszahallgathatod podcastként Spotify csatornánkon.
Cross platform, vagy hibrid megoldások? Nézzük a fogalmakat!
A cross platform alkalmazásfejlesztés lényege, hogy egy kódbázis segítségével több platformon is működő alkalmazásokat hozhatunk létre. Nem mindegy azonban, hogy cross platform, vagy hibrid megoldásokról beszélünk-e.
“Vannak olyan keretrendszerek, amelyek segítségével egy kódbázisból, vagy egy projektből több platformra tudunk alkalmazást kiadni. Ezeket hívjuk cross platform megoldásnak.
Vannak nagyobb cégek, akik saját rendszerekkel próbálták megoldani ezt a többplatformos támogatást, mint pl. a React Native, ami a Facebook által gondozott keretrendszer. Illetve a Flutter, ami a Dart nyelv segítségével 2017-ben kezdett el világszinten elterjedni. Ennek oka, hogy a Google az nagyon gerincesen ott áll az egész projekt mögött” – osztotta meg velünk Vogel Csongor, a BME Flutter képzésének egyik oktatója.
A cross platform és a hibrid rendszerek között a legnagyobb eltérés a limitációk mértékében van. A hibrid megoldásoknak általában jelentősen korlátozva van a hozzáférésük az eszközök és az operációs rendszerek funkcióihoz, míg a cross platform keretrendszerek nagyobb szabadságot nyújtanak a fejlesztőknek.
Flutterben készült többek között:
- a Google Stadia,
- a Google Ads
- és a Google Pay is.
De nemcsak a Fluttert piacra dobó világvállalat állt be a fiatal keretrendszer mögé. A BMW-nél a felhasználó központú termékfejlesztéshez készítettek vele alkalmazást, Kína legnagyobb piacterénél, az Alibabánál a skálázást szolgálja, a CrowdSource-nál a fejlesztés sebességét növelik vele, az Abbey Road Studios pedig arra talált módot a segítségével, hogy megújítsa a zeneszerzés folyamatát.
Mi a különbség a hibrid megoldások és a Flutter között?
A kérdésre Illés Péter, a Further Digital Solutions alapítója adott választ.
“A hibrid megoldások pl. React Native a webes világból érkeznek, így a felhasználói felület is adott, hogy webes elemekből áll össze. Ezek messze vannak a megszokott natív elemektől, a Flutter viszont sokkal közelebb áll ehhez.” – Erre tulajdonképpen úgy képes, hogy külön Android és iOS komponens könyvtárat használ, így a natív alkalmazásokhoz jobban hasonlító felhasználói felületeket hozhatunk létre benne. Mindeközben a fejlesztőnek a natív kódhoz jó eséllyel hozzá sem kell nyúlnia, mindent elkészíthet Dartban.
Ha szívesen elsajátítanád a Dart nyelv és a Flutter alapjait alapozó kurzusunkon 3 hét alatt szert tehetsz a szükséges ismeretekre. A tematikáról bővebben ide kattintva, a Flutter alapozó kurzus honlapján tájékozódhatsz.
A Flutter működése
“Ha megnyitok egy Flutteres projektet, akkor van benne egy iOS-es és egy Androidos, úgynevezett embedder.” – Mintha csak két külön mappát látnánk, a mappákon belül pedig egy-egy iOS-es és Androidos projekthez tényleg megfelelő struktúrájú alkalmazást találnánk.
“Lényegében ezekbe az embedderekbe a mi kis Dartban megírt, Flutteres alkalmazásunk becsomagolódik és ténylegesen az Androidos telefonokon Androidos alkalmazásként, az iOS-es telefonokon iOS-es alkalmazásként fog települni” – részletezte Vogel Csongor a Flutter működését.
“Illetve, egy hibrid app úgy működik, hogy egy webes alkalmazásra ráépül egy library, amivel meg tudunk hívni bizonyos natív funkciókat és ezt hozzáadjuk a webes alkalmazásunkhoz. A Flutter ezzel szemben a folyamat végén átkonvertál egy natív kóddá” – egészítette még ki a Flutter működését Illés Péter. Ennek köszönhetően, ha a fejlesztés során olyan problémába futunk, amit Dartban nem tudnánk megoldani, könnyen belenyújhatunk a natív kódba a projekten belül is.
A Flutter jövője
Barczi Bálint, a Supercharge iOS fejlesztője vetette fel beszélgetésünk során az időtállóság kérdését, ami a legtöbb számítógépes technológiával kapcsolatban felmerül. Különösen igaz ez a Flutterhez hasonló fiatal keretrendszerekre.
“A legnagyobb kérdés, amit én látok, az a jövőbeli relevancia, illetve a jövőtállósága ezeknek a dolgoknak, mert ugye a technológiák annyira változnak, hogy én kíváncsi vagyok, hogy a cross platformos megoldások közül melyik az, ami még 10 év múlva is ugyanilyen, vagy valamilyen megújuló formában, de hasonló alapokkal állva tud maradni.”
Kérdését Illés Péter válaszolta meg, aki saját tapasztalataiból kiindulva úgy látja, hogy a Flutter lehet az, ami végül be fog válni cross platform témában az olyan hibrid technológiákkal szemben, mint a React Native, vagy a Cordova.
A Flutter egyik legnagyobb előnye, hogy könnyen elsajátítható. Az általa használt Dart nyelv modern alapokra építkezik, így azoknak a fejlesztőknek, akik programoztak már Java-ban, Kotlin-ban, Swift-ben, vagy C-ben, ez sem fog nehézséget okozni.
Ezt támasztja alá Bálint megjegyzése is, aki szerint a programozói életben a gondolkodásmód a legfontosabb, aztán, hogy azt hogyan valósítjuk meg a különböző nyelveken, tulajdonképpen már mindegy.
A Flutter fejlesztők iránt folyamatosan nő a kereslet hazánkban is, mivel nemcsak költséghatékony, hanem gyors és rugalmas megoldást nyújt az applikáció fejlesztésre. Abban pedig szinte mindenki egyetért, hogy az alkalmazásfejlesztés jövője a cross-platform megoldásokban van. Ugyanakkor meg kell jegyeznünk azt is, hogy amíg léteznek natív Android, vagy iOS telefonok, addig natív fejlesztés is lesz.
12 hetes Flutter alapképzéseinken Pásztor Dániel, a BME-VIK oktatója és az AutSoft Zrt. Flutter fejlesztője segítségével elsajátíthatod azt az alapvető tudást, amivel képes leszel te is önállóan alkalmazásokat létrehozni Flutterben. A Flutter alapképzésről bővebb információkat ide kattintva találhatsz.