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

Analiza

2014. imala sam 10.000 Dogecoina. Danas, kad im je Elon Musk “napumpao” vrijednost, više ih nemam

Možda sam imala i više od 11.000. Možda sam i dobar dio podijelila, teško se prisjetiti tih opskurnih događaja prije gotovo sedam godina kada nismo više bili sigurni što je kriptovaluta, a što meme. A što oboje istodobno.

Startupi i poslovanje

Hoćete li kupiti rabljeni auto preko interneta, pitali smo osnivača Neostara (s 20 godina iskustva u industriji)

Insajder automobilske industrije, od spinoffa Zubak grupe želi stvoriti platformu koja će nam olakšati kupnju i prodaju rabljenih automobila u kojoj nećemo trebati "prijatelja koji se kuži u aute". Hrvatska im je pilot projekt, ali ambicije puno veće!

Web aplikacije

Osvanuo portal cijepise.zdravlje.hr, za prijavu za cjepivo protiv koronavirusa

A u trenutku pisanja ovog teksta nije izgledao ni približno dovršeno.

Što ste propustili

Intervju

Mirta Stantić nakon Facebooka: “Hrvatske su tvrtke nekonzistentne kod ranih promaknuća mladih žena”

Doktorandica s Oxforda i bivša zaposlenica Facebooka na skorašnjoj Ladies of New Business konfereniciji donosi savjete kako hrvatske korporacije mogu dati potporu za ženski leadership koji je sve samo ne nebitna stavka. Zastupljenost žena na rukovodećim pozicijama utječe na prihode i poslovanje tvrtki za skoro 50%!

Tehnologija

Rimac potvrdio: Porsche uz 70 milijuna eura vlasnik 24% tvrtke!

Njemački proizvođač automobila Porsche produbio je svoje investicije u Rimac Automobile sa dodatnih 70 milijuna eura, a udio Porschea danas iznosi 24%.

Sponzorirano

Digitalne vještine za 2021.: Savladajte AI i ne kradite tuđe vrijeme u radu na daljinu!

Kladarić, Car, Končar i Skender za Netokracija Podcast otkrili su vještine za koje smatraju da će nam svima olakšati daljnji razvoj hrvatske tehnološke industrije.

Digitalni marketing

Što marketing može naučiti od pametnih klupa… zahvaljujući “machine learning” inženjerki!

Pametne klupe - osim što su pametne, izvrstan su način digitalnog vanjskog oglašavanja. Kako strojno učenje i računalni vid pospješuju uspješnost tog segmenta poslovanja? Više nam je otkrila Includeova Nina Erceg.

Kultura 2.0

Bandcamp Friday: zašto baš danas trebate kupiti glazbu na ovoj platformi? Znaju Tomislav Capan, Intek Music i Elemental!

Danas je prvi petak u mjesecu, što znači da možete nabaviti gomilu super glazbe na Bandcampu za super cijene i podržati izvođače u ovom razdoblju bez koncerata... Što sve donosi inicijativa koja je oduševila glazbenika diljem svijeta, otkrivamo:

Digitalni marketing

Interaktivan video stigao u Konzum webshop: Kako su objedinili dobar sadržaj s ecommerceom?

Integraciju prodaje proizvoda unutar foto oglasa već ste sigurno vidjeli po Instagramu, no uglavnom takvi ecommerce trendovi sporo dolaze do nas. A možda i ne... Konzum u svome webshopu ide korak dalje. Za svoje proizvode pripremili su interaktivne video recepte!