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

Startupi i poslovanje

Kako je Estonija postala “startup nacija”, može li to Hrvatska, kako – i kad?

Može li novoosnovana udruga Cro Startup ponoviti uspjeh koji je postigla Startup Estonia? Eve Peeterson iz te udruge ispričala je koje su promjene, inicijative i angažmani bili ključni za uspjeh.

Digitalni marketing

Na digitalno oglašavanje u Hrvatskoj u 2021. potrošeno 1,65 milijarde kuna, 75% otišlo Googleu i Meti

Na digitalno oglašavanje u Hrvatskoj u 2021. godini potrošeno je milijardu i 657 milijuna kuna, pokazalo je istraživanje digitalni AdEx koje su za HUDI (Hrvatsku udrugu digitalnih izdavača) proveli austrijska agencija Momentum i lokalni partner Ipsos.

Digitalni mediji

Urednik ukrajinskog Forbesa: “Dezinformacije nam zapravo nisu predstavljale veliki problem – Rusi su izgubili informacijski rat”

Grad bombardiraju doslovno, a vas vijestima i dojavama, "ne možete se usredotočiti na bilo što duže od 10 minuta...", prisjeća se Mykhailo prvih tjedana rata u Ukrajini. Ispričao nam je kako su u ukrajinskom Forbesu operativno i mentalno pripremali redakciju za rad u takvim okolnostima.

Što ste propustili

Mobilno

Huawei Apps UP natjecanje se vraća s nagradom od preko milijun dolara

Treću godinu zaredom Huawei bogatim fondom nagrađuje najbolje programere koji će se odvažiti na razvoj aplikacija za ekosustav Huawei mobilnih usluga.

Kultura 2.0

Prvo istraživanje o električnim romobilima u Hrvatskoj: 80 % ispitanika koristi ih umjesto auta kako bi brže stigli do cilja

Bolt je proveo prvo istraživanje o električnim romobilima u Hrvatskoj, a za Netokraciju ekskluzivno otkrivaju najzanimljivije podatke.

Startupi i poslovanje

Ovo su najinovativniji učenici, studenti i škole u Hrvatskoj koji su osvojili nagrade Digitalnog inkubatora

U velikoj završnici Digitalnog inkubatora by Hrvatski Telekom, u organizaciji Instituta za inovacije, održane su prezentacije najuspješnijih timova učenika i studenata i dodijeljene su im nagrade ukupnog novčanog fonda od 200.000 kuna. Evo kakve ideje i rješenja su predlagali...

Digitalni marketing

Anton Smolčić kao novi voditelj digitalnog marketinga pomaže Muzeju iluzija u globalnom širenju

Muzej iluzija pridobio ga je činjenicom da je to globalni projekt s ambicioznim planovima i prilika da bude dio stvaranja tog globalnog uspjeha.

Novost

Poticaji za električna vozila podijeljeni u samo 50 minuta

Već nakon jedne minute rezervirano je gotovo 30 posto sredstava, a ukupni broj prijava po prodajnom mjestu varirao je od samo pet prijava za one salone sa slabijim rezultatom pa do sveukupno 60-ak prijava za uspješnije prodajne salone.

Panel

Rok trajanja programera: Možete li 57-godišnjaka zamisliti na razgovoru za posao frontend developera?

Možete li 57-godišnjaka zamisliti na razgovoru za posao frontend developera u nekoj domaćoj IT agenciji? Zavirili smo u raspravu o tome koliki je rok trajanja programera i upitali nekoliko njih, različitih razina iskustva i pristupa karijeri, može li se do mirovine biti "samo programer".