Greška

Došlo je do greške.

Razvijanje aplikacija za Android i iOS platforme uz pomoć Google frameworka zvanog Flutter

23.11.2022 13:16 | 0 Biznis IT
Razvijanje aplikacija za Android i iOS platforme uz pomoć Google frameworka zvanog Flutter

Google je pre nekoliko godina razvio svoj framework nazvan Flutter koji izradu mobilnih aplikacija čini znatno lakšim. Flutter ima sve više korisnika i kod nas, a na domaćem tržištu posluje IT kompanija koja je prepoznala prednosti ovog toolkit-a i ima zajednicu Flutter programera koji uz pomoć njega razvijaju veliki broj projekata. Među njima su Ivan Celija i Dominik Mesek iz Q agency, koji su objasnili osnovne karakteristike i prednosti korišćenja ovog radnog okvira.

Kod se piše u programskom jeziku Dart koji je moderan i lak za korišćenje, a podržava većinu ili gotovo sve funkcije drugih programskih jezika. Radni okvir Flutter-a uz pomoć rendering engine-a Skia crta svoje grafičke elemente na sopstvenom grafičkom sloju, canvas-u, pa se oni mogu koristiti na različitim platformama. To omogućava da elementi koje prikazuje na ekranu izgledaju identično na Android i iOS uređajima. Skia engine funkcioniše na sličan način kao i standardni game engine, jer osigurava 60 FPS-a ili 120 FPS-a na dovoljno brzim uređajima.

Prednosti Flutter-a za one koji rade u njemu

Flutter je adekvatno rešenje za neke programere, jer je karakterističan po hot reload-u, odnosno mogućnosti pisanja korisničkog interfejsa direktno u kodu, što je postalo prirodno i značajno u ubrzavanju razvoja aplikacija. Kad se jednom savlada, olakšava kreiranje i menjanje korisničkog interfejsa. Čim se napravi promena u interfejsu, ona se gotovo odmah može videti na ekranu u aplikaciji. U prilog tome, da je ovakav pristup koristan i potreban, pokazuje i činjenica da se i drugi iOS i Android toolkit-ovi okreću upravo ovakvom načinu funkcionisanja.

Rad u Flutter-u izgleda tako da programer piše kod najčešće u razvojnom okruženju Android Studio ili Visual Studio Code, pa odmah može isprobavati tek dodate funkcije na uređaju ili simulatoru. Takođe, zahvaljujući velikom Flutter community-u postoje već gotova rešenja za CI/CD kao što su Codemagic i Bitrise koji ubrzavaju proces razvijanja i distribuiranja aplikacija.

Dominik_Mesek.jpg

Dominik Mesek

U poređenju sa React Native-om, Flutter koristi svoj canvas za iscrtavanje elemenata na ekranu i ne zavisi od operativnog sistema. Takođe, ne koristi ni JavaScript bridge koji u nekim slučajevima dovodi do usporavanja izvođenja same aplikacije. Zbog toga Flutter aplikacije za isti posao koriste manje CPU i GPU snage, ali i manje memorije na uređaju na kojem se pokreću zbog čega se brže izvode čak i kompleksnije operacije.

Flutter je, za razliku od React Native-a, otporniji i na ažuriranja operativnog sistema, što znači da ako dođe do iOS ili Android nadogradnje Flutter aplikacija će ostati ista.

Ipak, u poređenju sa Native aplikacijama oba sistema, kompleksnije Flutter aplikacije zahtevnije su po pitanju CPU, GPU i memorijskih resursa, dok se kod jednostavnih aplikacija razlika nema. Kada bi se poredile performanse sistema Flutter bi bio između Native i React Native, što ga čini dobrim izborom za većinu korisnika i scenarija upotrebe.

Iako Flutter aplikacije dolaze sa određenom cenom po pitanju performansi i sa specifičnim problemima kojih u Native aplikacijama nema, cross-platform programiranje je generalno stvar kompromisa, a takve aplikacije se uz minimalno prilagođavanje koda mogu pokretati na više platformi (iOS, Android, Web, Windows, Linux, MacOS).

Klijenti vole Google-ov toolkit

Flutter je dobar izbor i za klijente, jer im omogućava da razvojem jedne aplikacije dobiju rešenje za obe mobilne platforme, Android i iOS. Sa druge strane, standardan, tradicionalan način razvoja aplikacija zahtevao bi korišćenje dve različite aplikacije za ove dve različite platforme. Dodatno, Flutter podržava web i desktop, pa se u nekim slučajevima s jednim code base-om mogu pokriti oba, uz manje prilagođavanje korisničkom interfejsu, što zavisi od zahteva klijenta. Takođe, prednost je u tome što se u Flutter-u brzo može složiti pokazni primer (MVP) kako bi aplikacija izgledala ako se projekat realizuje u potpunosti.

Svaki klijent je drugačiji i ima specifične zahteve. Programerima je potreban radni okvir koji može da zadovolji sve funkcionalne zahteve, kao što su očitavanja merenja senzora mobilnog telefona, real-time video konferencije, prepoznavanje objekata pomoću modela mašinskog učenja i slično, što Flutter omogućava uz sve druge mogućnosti.

Prednost Flutter-a jeste i u tome što skraćuje vreme razvijanja aplikacija dok se istovremeno snižava i trošak za klijenta, a to je i jedan od glavnih motiva za usvajanje ove tehnologije.

Rešavanje problema uz pomoć Flutter-a

Klijenti često menjaju zahteve za vreme implementacije, pa Flutter svojim slaganjem korisničkog interfejsa na reaktivan način omogućava da se lako promeni raspored nekih elemenata na ekranu. Tako nešto kod drugih platformi nije toliko jednostavno.
Flutter je i relativno jednostavan za korišćenje. Nudi iscrpnu dokumentaciju s mnogo primera o tome kako se koriste osnovni i napredni grafički elementi koje poseduje. Ispravljanje grešaka u kodu je pokriveno uz funkcionalnost breakpoint-a koji omogućava developeru da u nekom trenutku zaustavi izvođenje programa i dobije detaljan stack-trace i stanje svih varijabla u tom trenutku. Zato je relativno jednostavno naći gde je nastao problem i rešiti ga.

IvanCelija.JPG

Ivan Celija

U slučaju i da negde zapne, Flutter zajednica je aktivna na Internetu, tako da se za gotovo svaki problem, uz malo istraživanja, može naći zadovoljavajuće rešenje. Takođe, Flutter poseduje sofisticiran alat za rešavanje vizuelnih i performance problema zvan Dart DevTools. Reč je o web aplikaciji koja poseduje skup izuzetno korisnih alata za utvrđivanje utrošenosti memorije i procesorske moći, kao i sposobnost debug-ovanja vizuelnih elemenata.

Trend koji će trajati

Osim navedenih prednosti, Flutter ima mnogo plugin-ova koji rešavaju specifične probleme, recimo brzo renderuje 2D objekte u aplikacijama. Ne treba zaboraviti ni to da iza ovog toolkit-a stoji Google, koji daje sve od sebe da ovaj framework postane alat koji će koristiti veliki broj developera i koji će dobiti neophodnu podršku na svim nivoima.

Na kraju valja istaći da je Flutter, ako je sudeći po Google Trends-u i broju pitanja na Stackoverflow-u, pretekao glavnu konkurenciju React Native po popularnosti i zajednici koja ga koristi.

PR tekst

Vodič kroz Xiaomi Black Friday ponudu: gde sve možete da kupite svoje omiljene uređaje

Procurele informacije o Dimensity 8200, mala unapređenja u odnosu na 8100

10604
10605
10606
10607
10608
10609