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.

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 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)
  • 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 (Hrvoje Lončar) ili barem ime i inicijala (Hrvoje L.) te pravu email adresu. Kako koristimo podatke koje tamo 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

Kultura 2.0

Dinamo je prvi hrvatski sportski ICO, kupite njihov $DZG token za 2 eura – i uključite se u klupske odluke!

Nakon brojnih drugih velikih klubova hrvatski nogometni prvak odlučio se na iskorak u blockchain svijet kroz novi model članstva. U "inicijalnoj ponudi tokena” od 29. rujna moći ćete postati vlasnik fan tokena Dinama s kojima ćete moći trgovati i sudjelovati u određenim odlukama kluba. Što to znači za kripto dioničare, koja je motivacija kluba za ovaj projekt i tko stoji iza Sociosa istražili smo iz prve ruke.

Intervju

Splitski Blank s partnerima uskoro lansira hrvatski NFT marketplace na Ethereumu!

Uz bok nekolicine renomiranih umjetnika suvremene umjetničke scene, a pod vodstvom splitske agencije Blank, stiže nam Endemic platforma za trgovanje NFT umjetninama. Više o projektu otkrivamo od samih pokretača.

Digitalni marketing

Prima se rebrendirala: Što (i tko) stoji iza prepoznatljivog, a inovativanog vizualnog identiteta?

Od obiteljske tvrtke do poslovnog sustava s više od 2000 zaposlenih. Prima je u posljednjih 25 godina poprilično odmaknula od svojih početaka, stoga je bilo krajnje vrijeme za vizualni identitet koji bi odražavao takvu promjenu.

Što ste propustili

Startupi i poslovanje

Nakon rada u Amazonu i Memgraphu, Marin i Matej osigurali 3 milijuna kuna za “tražilicu video i audio sadržaja”

Jedan je za vrijeme studiranja na FER-u bio drugom mentor u srednjoj školi, ali tek ih je Marinovo iskustvo u Amazonu i problem na koji je naletio potaknulo da pokrenu zajednički startup na relaciji Zagreb-Vancouver.

Novost

HAVC prvi put raspisao natječaj za poticanje razvoja i proizvodnje videoigara

Hrvatski gaming studiji dobili su još jednu priliku za financiranje svojih projekata i to u Hrvatskoj!

Intervju

Photomath ima tim specijaliziran za animirane instrukcije koje se programiraju? I to bez pisanja koda?

Jeste li znali da čak 60% učenika koristi video za pomoć pri učenju matematike? Photomath danas nudi i vizualni način učenja matematike pomoću animiranih instrukcija. Uz njih korisnik ima dojam kao da pred sobom ima instruktora matematike, a mi smo provjerili kako se takve animacije uopće kreiraju uz Andriju Ražnatovića i Janu Čičko.

Startupi i poslovanje

Omega software postaje dio M SAN grupacije

I službeno je potvrđeno, drugi najveći sistemski integrator u Hrvatskoj, King ICT u sastavu grupacije M SAN, preuzeo je Omega software.

Kultura 2.0

Naš mozak nije poput ladica koje možemo neprestano puniti informacijama, kako mu pomoći da pamti bitno?

Svi smo se u jednom trenutku zapitali zašto ne mogu bolje pamtiti, odgovor na to pitanje otkrili smo na zagrebačkom TEDx-u!

Startupi i poslovanje

“Pristup top-down, gdje menadžment sam, ili skupa s HR-om osmisli vrijednosti tvrtke, je passé”

Nakon što se hrvatskom SofaScoreu u samo godinu i pol dana udvostručio broj zaposlenika, bilo je sigurno kako treba transformirati i internu kulturu koja će pratiti takav strelovit rast - a to je značilo ispitati vrijednosti sa svim ljudima u tvrtki.