Flutter nije "no-code" rješenje ni čarobni štapić, ali je odličan za brz razvoj mobilnih aplikacija

Flutter nije “no-code” rješenje ni čarobni štapić, ali je odličan za brz razvoj mobilnih aplikacija

Ako niste developer, možda niste ni čuli za Flutter - a ako jeste, vjerojatno imate snažno mišljenje o njemu. U čemu je tu stvar?

Tijekom posljednjih nekoliko godina sve se više govori o pojednostavljivanju programiranja. Veliki tehnološki igrači, Facebook i Google, odlučili su se na razvoj vlastitih frameworka koji bi trebali učiniti razvoj mobilnih aplikacija lakšim. Tako danas imamo React Native sa strane Facebooka i Flutter, o kojem danas govorimo, kao Googleov alat.

O Flutteru sam razgovarao s Ivanom Celijom, CTO-m Implementacije snova, kao i s Andrijom Frinčićem, CEO-m ove tvrtke. Tvrtka Implementacija Snova uvelike se koristi Flutterom i organizira čak i Flutter ZG Meetup koji je odnedavno našao velikog partnera u Infinumu. No, što je Flutter uopće? Andrija:

Flutter je Googleov toolkit za razvoj atraktivnih mobilnih aplikacija. Posebno je privlačna činjenica to da se jedan kod prevodi u native mobilnu aplikaciju za iOS i za Android operativne sustave, što skraćuje vrijeme razvoja mobilnih aplikacija i samim tim smanjuje i trošak za naručitelja. Mi pak kao razvojna agencija imamo manje koda koji treba održavati na dnevnoj bazi. Prilika da krajnjim korisnicima ponudimo kvalitetniji proizvod (mobilnu aplikaciju) po povoljnijim komercijalnim uvjetima, a da pri tome sebi pojednostavnimo život, nama je bila glavnim motivator za usvajanje ove tehnologije.

Flutter prati stigma jer je – nov

Prema tome, ako razvijate aplikacije za telefone, Flutter bi vam trebao biti na umu od samog početka razvoja. Prednost Fluttera u ovom smislu leži u tome što kroz jednu platformu radite aplikaciju za različite uređaje i time si smanjujete količinu posla. Danas tvrtke koriste Flutter kada u kratkom vremenu žele stvoriti nekoliko verzija aplikacije istovremeno, zbog budžeta ili zbog brzine i jednostavnosti njegovog korištenja.

Ova jednostavnost i lakoća korištenja automatski stavlja Flutter “ispred nišana” developera koji prema njemu gaje određenu stigmu. Andrija kaže kako vjeruje da je Flutter stigmatiziran više zbog činjenice da se radi o novom frameworku iza kojeg stoji Google, nego ičeg drugog. Razvoj aplikacija u Flutteru ne razlikuje se po ničemu od razvoja aplikacija u nekom od drugih toolkitovasamo što je Flutter malo lakše pratiti, po Andrijinom mišljenju:

Za Flutter/Dart postoji razvojno okruženje (Android Studio), postoji odličan debugger i profiler, postoji tona pluginova koji rješavaju specifične probleme. Dakle, ne radi se o nekoj “no-code” platformi, već se radi o klasičnom razvojnom okruženju s cool jezikom i sustavom koji brutalno brzo renderira 2D objekte na ekranu mobilnog uređaja. Ako Flutter ne smatramo pravim programiranjem, onda isto tako ne trebamo pravim programiranjem smatrati i razvoj web aplikacija u Djangu ili Ruby on Railsu.

Andrija stoga kaže da za svaki problem treba gledati adekvatno rješenje. Ako ćemo raditi serversku aplikaciju koja mora raditi u distribuiranom okruženju i obraditi ogromnu količinu evenata, onda ćemo odabrati Erland i odgovarajuće frameworke, kaže Andrija. Ako nam treba “seksi” aplikacija – odabrat ćemo Flutter.

Andrija i Ivan već dugo vremena u Zagrebu organiziraju Flutter Meetup. Implementacija Snova

Za što Flutter nije?

Ipak, kako ne rade svi “seksi” aplikacije, Andrija pojašnjava da postoje neki slučajevi gdje Flutter nije dobar fit. Prvenstveno se tu radi o 3D igrama, zbog načina na koji Flutter stvara korisničko sučelje, a zatim kada se radi o aplikacijama koje intenzivno komuniciraju s nekim specifičnim komadom hardvera. Andrija i Ivan pojašnjavaju:

Ako se procjeni da je taj dio specifične funkcionalnosti čini manji dio baze koda projekta, onda čak i u takvim slučajevima ima pozitivnih učinaka od korištenja Fluttera dok se specifične stvari implementiraju u native kodu korištenjem kanala.

Moji sugovornici pozivaju na istraživanje prije odluke o tome treba li koristiti Flutter ili ne, jer postoji niz manjih ili većih stvari koje Flutter još uvijek ne može raditi. Na vama je odluka uklapaju li se ova ograničenja u vašu buduću aplikaciju ili ne!

Cilj je olakšavanje posla za developere

Kritike za Flutter upućuju se najčešće prema njegovoj jednostavnosti, odnosno činjenici da nastoji što je moguće više olakšati posao developerima i time donekle mijenja paradigmu programiranja kao nešto što treba biti kompleksno da bi bilo kvalitetno. Andrija kaže kako danas alati i sustavi idu u smjeru olakšavanja svakodnevnog posla za programere:

Aplikacije koje svakodnevno lansiramo na tržište postaju sve kompliciranije i kompleksnije (u smislu funkcionalnosti koje isporučuju). Ako se fokusiramo na utjecaj koje ove dvije činjenice imaju na život prosječnog developera, mislim da možemo slobodno zaključiti da se u njihovom svakodnevnom životu neće ništa previše promijeniti

Ipak, iako Flutter omogućava da istu funkcionalnost riješite s 10 puta manje koda, sustavi koji se danas razvijaju su uvelike kompleksniji pa se za prosječnog developera život neće pretjerano olakšati. Prava prednost leži za krajnje korisnike, ne developere, jer oni će dobiti atraktivnije i kompleksnije aplikacije nego prije.

Developeri stoga ne bi trebali na Flutter ili React gledati kao na čarobne štapiće koji će im omogućiti da isključe mozak i za određeni problem uzmu prvo rješenje koje nađu na Stack Overflowu, kaže Ivan i dodaje:

Flutter samo na jedan efikasan i dobro osmišljen način donosi mogućnost razvoja za više platformi (od samog početka za Android i iOS, a u posljednje vrijeme sve više se radi na razvoju za web i desktop okruženja) te tako olakšava život developerima, no i dalje kvaliteta koda i isporučenog proizvoda ovisi o samom developeru od čega ga niti jedan alat ne može “spasiti”.

U teoriji – manje glavobolje tijekom razvoja

Ako ste developer, Ivan ističe kako je važna prednost hot reload, opcija koja omogućava osvježavanje aplikacije na uređaju ili simulatoru gotovo u trenutku uz zadržavanje postojećeg stanja, tako da odmah možete vidjeti promjene koje ste napravili u kodu. Ova funkcija može olakšati i proces pronalaska i ispravljanja grešaka u kodu, kaže Ivan i dodaje:

Uz hot reload, pisanje koda za izgradnju korisničkog sučelja direktno u Dartu je vrlo praktično. Native razvoj iOS i Android aplikacija je imao drugačiji pristup, korisničko sučelje se pisalo u posebnim .xib, odnosno .xml datotekama koje ste onda mogli vidjeti u previewu unutar razvojnog okruženja što kad jednom probate Flutterov pristup postaje izuzetno zamorno. Međutim, vjerojatno i pod utjecajem Fluttera, prvo je Apple predstavio SwiftUI, a odnedavno i Google s Jetpack Composeom su krenuli u istom smjeru reaktivnog pisanja korisničkog sučelja.

Posljednja istaknuta prednost po Ivanovom mišljenju su widgeti unutar Fluttera koji značajno olakšavaju posao developerima. Uz pomoć njih znatno je lakše složiti sučelje kakvo god poželite, a svako će izgledati isto na iOS-u i Androidu. Ivan dodaje kako Flutter podržava i veliku količinu Material i Cupertino widgeta, tako da je vrlo lako postići željeni izgled i osjećaj nativne aplikacije na obje velike mobilne platforme.

Hot Reload opcija pokazuje vam što se u aplikaciji mijenja u realnom vremenu. Google

Raste interes malih – i velikih

Andrija i Ivan ove misli i lekcije nastoje prenijeti i na meetupu koji se održava u Zagrebu, ali Andrija priznaje kako interes za Flutter van njihove tvrtke prije meetupa nije ni postojao. Developeri su se prije početka pandemije polako zainteresirali za Flutter, dijelom i zbog činjenice da su ga veće agencije poput Infinuma počele istraživati. Najviše pitanja na meetupu vezano je uz Dart, jezik koji se koristi za razvoj Flutter aplikacija, sustav i raspoloživost pluginova te komunikaciju s hardverom.

Ovaj rast popularnosti Fluttera Andrija smatra trendom koji će se nastaviti i u idućim mjesecima. Određeni dio aplikacija će se i dalje razvijati u native razvojnim okolinama, no Andrija i Ivan smatraju kako će se većina mobilnih aplikacija koje koristimo svakog dana razvijati u Flutteru, React Nativeu, Kotlin Multiplatform mobileu ili Xamarinu. Ne smije se zanemariti ni to da iza Reacta i Fluttera stoje Facebook i Google, koji daju sve od sebe da baš njihov framework postane alat po izboru svakog developera.

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

eUsluge

Grad Zagreb omogućio potpun uvid u proračun kroz aplikaciju iTransparentnost

Nova aplikacija omogućuje svakom građaninu da detaljno prouči gradski porarčun po različitim parametrima.

Startupi

Što je to R&D potencijal – i kakve veze ima s razvojem startupa?

Je li startup nacija u kojoj su nastali tech giganti kao Skype, Wise, Bolt i Pipedrive to postala slučajno, otkrijte sa mnom na putu u Estoniju.

Nesortirano

Što je Akt o čipovima – i kako će doprinjeti tehnološkom razvitku Hrvatske

Jačanje konkurentnosti Europske unije u industriji poluvodiča prilika je i za Hrvatsku koja u sklopu 43 milijarde eura vrijedne incijative priprema otvaranje edukacijskih centara.

Što ste propustili

Panel

Hrvatski game developeri o stvaranju “ozbiljnih” videoigara

S predstavnicima game dev studija, ali i drugih privatnih tvrtki i dobrotvornih organizacija, raspravljamo o razvoju videoigara kojima svrha nije samo zabava, već i edukacija.

Intervju

Ivan Mrvoš: “Include više nije samo ‘onaj mali s pametnim klupama'”

Include, solinski startup poznat po pametnim klupama Steora, okrenuo se razvoju i proizvodnji novih proizvoda. Mrvoš, koji još nema ni 30 godina, a već je iskusni poduzetnik s respektabilnom karijerom, za Netokraciju je ispričao kako se i koliko ta tvrtka promijenila. Nedavno smo mogli pročitati da bi mogli promijeniti i vlasnika...

Esport

Peta sezona SET-a zaključena u Infobipu: Od 22 fakulteta pobjednički je varaždinski FOI

Student Esports Tournament, jedan od najpoznatijih studentskih esport događaja u Hrvatskoj, petu sezonu završio je u spektakularnoj LAN završnici koja se održala u prostorima Infobipa u Zagrebu.

Novost

Goran Bosankić u Field39 stiže na poziciju Chief Revenue Officera

Nakon više od 6 godina u Assecu SEE, a potom isto toliko u ABC Tech grupi, Goran Bosankić dolazi u Field39 kao Chief Revenue Officer i član Upravnog odbora.

Digitalni marketing

Super Bowl fenomen iliti “Vrijeme je da se vratite pred TV. Počinju reklame.”

Dok sam bio u Americi netom prije Super Bowla jedno mi je postalo jasno. Američki nogomet tamo je religija, a SuperBowl kao Božić. Samo što se za ovaj Božić svi okupe oko TV-a gledati reklame!

Novost

Teo Širola iz Muzeja iluzija proglašen najboljim mladim menadžerom 2023. godine

Hrvatsko udruženje menadžera i poduzetnika (HUM) CROMA dodijelilo je predsjedniku tvrtke Metamorfoza, koja upravlja globalnom mrežom Muzeja iluzija, nagradu za mladog menadžera 2023. godine.