ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 150
Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 125
Abonament PDF

Hai să vorbim despre Flutter

Alexandra Damaschin
Technology Consultant @ AboutYou Tech



Hanna Kovacs
Software Engineer | App @ AboutYou Tech



PROGRAMARE


Lumea tehnologiei se schimbă constant. Am fost martorii ascensiunii și decăderii multor tehnologii. Pentru acest articol am decis să scriem despre una din cele mai importante tehnologii în dezvoltarea soluțiilor mobile.

Introducere în Flutter

Flutter este o platformă creată de Google pentru dezvoltarea aplicațiilor mobile. Aceasta permite programatorilor să dezvolte aplicații de tip web, desktop și cross-platform ce rulează pe dispozitive Android și iOS, având un singur codebase și un singur limbaj de programare. La AboutYou folosim Flutter pentru Android și iOS.

Obiectivul nostru este de a permite programatorilor să livreze aplicații extrem de performante care se comportă natural pe platforme multiple. Se oferă suport pentru comportamentul de scrolling, pentru tipografie, icoane și nu numai.

Spre deosebire de alte soluții populare, Flutter are un SDK, un framework și o librărie UI bazată pe widgeturi. Acestea sunt elementele de construcție pentru interfața grafică a aplicațiilor Flutter. Oferă o gamă largă de widgeturi predefinite, toate similare cu cele native, spre exemplu casete de text, butoane sau elemente de navigație. Dacă doresc, programatorii pot customiza sau crea elemente.

Flutter se realizează cu Dart, un limbaj de programare optimizat pentru programare rapidă pe orice platformă. Dart vi se va părea familiar dacă ați mai folosit limbaje precum Java, Kotlin, Swift sau TypeScript. Vă va ajuta experiența cu orice limbaj orientat spre obiecte, dar și cei fără experiență în programare pot construi aplicații Flutter, deoarece vor putea învăța Dart rapid. Merită să încercați tutorialul Dart tour.

Beneficiile Flutter

Flutter are foarte multe beneficii, dar noi am dori să vă prezentăm favoritele noastre după ce am lucrat efectiv cu Flutter în producție pentru o aplicație ce are mai mult de 1.8k de utilizatori.

Faptul că avem un singur codebase pentru toate aplicațiile este cel mai bun lucru la Flutter, fapt care ne ajută să economisim mult timp. Scriem cod în Dart care are performanță bună și care oferă o experiență optimă de dezvoltare. Ne face să simțim că programarea chiar poate fi o experiență plăcută.

Pe lângă faptul că timpul este redus, utilizarea aceluiași codebase presupune costuri reduse pentru client. Aplicația ajunge pe piață mai repede și va fi mai ieftin de construit decât aplicația nativă.

Un alt aspect ce grăbește procesul de dezvoltare este funcționalitatea hot reload (reîncărcare rapidă) care permite programatorilor să schimbe codul în simulatoare, emulatoare sau dispozitive reale, și ulterior să vadă rezultatele în timp real.

Codul modificat se reîncarcă în mai puțin de o secundă, în timp ce aplicația rulează, nefiind necesară, o restartare.

Frameworkul beneficiază de suportul comunității, fapt reflectat în evoluția sa. Acest proiect are un plan de dezvoltare ambițios și, uitându-ne la progresul pe care l-a avut, așteptăm ca multe lucruri bune să se întâmple de acum înainte, toate cu un impact mare în tehnologie.

https://insights.stackoverflow.com/trends?tags=flutter%2Creact-native

Dezavantajele Flutter

Nu vă vom minți. Nu vom spune că Flutter este cel mai bun în toate situațiile. Desigur că sunt studii de caz unde Flutter va crea reale probleme. Înainte de a alege o tehnologie, gândiți-vă la studiile de caz asociate proiectului și decideți doar în baza acestor informații.

Aveți nevoie de o tehnologie care să vă permită dezvoltarea de aplicații performante, de top, cu o conexiune OS embedded între aplicație și dispozitiv? În acest caz, o tehnologie nativă va fi o alegere mai bună decât Flutter. Când ne gândim la aplicații mobile cu accent special pe funcționalități native, atunci Flutter nu vă poate ajuta. Aveți în plan aplicații sofisticate IoT care să se conecteze la TV sau Wallets? O tehnologie nativă este alegerea care ne va face viața mai ușoară și care va oferi integrarea între aplicația voastră și alte dispozitive.

De ce au ales programatorii noștri Flutter?

Aceasta e povestea pe scurt a modului în care am trecut de la dezvoltarea Android sau iOS la Flutter. Acum câțiva ani, am creat primele noastre aplicații Android sau iOS. Am lucrat pentru companii care se axau pe dezvoltare mobilă — iOS și Android. La acea vreme, cea mai bună alegere era dezvoltarea nativă.

Totuși, dezvoltarea mobilă s-a schimbat mult pe parcursul anilor. Sunt multe limbaje, tehnologii și arhitecturi. Am decis să explorăm alte tehnologii pentru a le analiza potențialul.

După o serie de cercetări și după ce am început să lucrăm cu Flutter, am descoperit că este o plăcere să scriem cod în Dart. Am învățat foarte repede ce este de făcut, iar lucrurile au funcționat pur și simplu.

Ne-a plăcut atât de mult, încât am avut încredere deplină în viziunea și planurile lor pentru această tehnologie.

Acum, câțiva ani mai târziu, ne bucurăm că am făcut acest pas și am intuit că va avea un viitor strălucit. Lucrurile s-au îmbunătățit semnificativ în ultimii ani și credem că vor avea reușite și mai mari.

De cât timp aveți nevoie pentru a reconstrui aplicația voastră mobilă cu Flutter?

Există o serie de beneficii dacă decideți să reconstruiți o aplicație nativă cu Flutter.

O problem comună pentru multe companii și start-upuri ține de procesele similare de dezvoltare. În majoritatea timpului, programatorii Android și iOS lucrează independent, ceea ce atrage o complexitate mare și inutilă a codului, dar și efort sporit de mentenanță. Mulți au încercat să rezolve această problemă, dar majoritatea eforturilor au fost contra-productive.

Pentru majoritatea echipelor, beneficiile generale ale dezvoltării cu un framework cross-platform includ timpi mai rapizi de dezvoltare și cheltuieli mai mici.

Dacă aveți o aplicație mare, veți dori să nu așteptați până se rescrie toată aplicația în Flutter, înainte de a o lansa. Poate că are rost să integrați Flutter pages în aplicația voastră curentă în timp și să faceți release la actualizări pe parcurs.

Pentru cei care doresc să construiască un MVP (produs minim viabil) sau pentru start-upuri, Flutter este o alegere bună, deoarece este gratuit și ușor de folosit. Programatorii pot crea o aplicație de calitate înaltă fără a investi foarte mulți bani și foarte mult timp, dar acestea depind și de complexitatea aplicației pe care o doriți. La About You, am avut nevoie de șase luni pentru a reconstrui și a optimiza aplicația folosind Flutter. În total, aplicația noastră era live pentru toți utilizatorii după nouă luni. Acum suntem mulțumiți că aplicația noastră are același UI și UX pentru toate dispozitivele.

Puteți descărca aplicația noastră About You de pe App Store sau Google Play Store pentru a o încerca.

Este ușoară testarea cu Flutter?

Testarea este un aspect important când dezvoltăm o aplicație sau o funcționalitate nouă. Implementând testarea, vom dobândi mai multă încredere în capacitatea noastră de a lansa o soluție în producție, deoarece ne putem asigura din timp că aplicația pe care am dezvoltat-o funcționează conform așteptărilor și are foarte puține defecte.

Flutter oferă mai multe tipuri de teste ce pot fi folosite pentru a ne asigura că vom livra un comportament corect. Avem teste pe componente (unit tests), teste de integrare (integration tests), teste pe elementele widget (widget tests) și teste de aur (golden tests).

În această secțiune, vom detalia principiile testelor de aur.

Ideea unui test de aur este simplă. Începem cu doi pași. La primul pas generăm imaginea model. La pasul doi comparăm ecranul sau widgetul cu imaginea model.

Puteți adapta testele pentru a testa vizual componente precum liste, diagrame sau widgeturi complexe ce ar fi, altfel, foarte greu de testat.

Flutter oferă suport nativ pentru testele de aur. Instrumentele care facilitează testarea de aur sunt fantastice, deoarece este foarte simplu să scrieți teste. De asemenea, sintaxa este asemănătoare celei folosite pentru testele elementelor widget obișnuite. Dezavantajul este că acestea pot deveni, foarte repede, greu de citit și întreținut pe măsură ce creați mai multe variații ale aceluiași test.

În plus, sunt câteva probleme cu redarea fontului când se trece de la o platformă la alta, deci dacă ați lucrat pe un Mac testele nu vor merge pe o mașină CI Linux.

De ce consideră colegii noștri că Flutter este o soluție bună pentru aplicațiile din producție?

Este o soluție bună, deoarece acordă o importanță deosebită timpului de compilare și performanței. Componenta SDK s-a maturizat în timp. În acest moment, oferă foarte multe opțiuni care fuseseră disponibile doar în varianta nativă. Toate actualizările pe care le aduc SDK-ului lor sunt sigure, fără schimbări radicale.

Desigur că trebuie să înțelegeți care este scopul aplicației voastre și să analizați dacă aveți nevoie de suport low level. Cu toate acestea, pentru aplicații normale, precum AboutYou, Flutter a fost și este cea mai bună alegere pentru a dezvolta funcționalități rapid și pentru a lansa aplicația pe toate dispozitivele.

Unde vedem Flutter în viitor?

Am fost martorii ascensiunii sale și observăm că se află în plină maturizare și optimizare a variantei Flutter web. Echipa Flutter lucrează la suport pentru desktop care, când va fi stabil, va oferi un SDK universal pentru dezvoltarea de componente UI.

Este pe cale de a cuceri componenta web frontend, deci are șanse reale de a deveni prima alegere când trebuie să optăm pentru o tehnologie care să ne ajute să realizăm toată partea front end fie că vorbim de web, aplicații mobile cross platform sau desktop.

I-am întrebat pe colegii noștri: "Dacă ați construi o aplicație mobilă de la zero, ce tehnologii ați alege și de ce?"

Răspunsul: Toți ar folosi Flutter, deoarece este o soluție bună pentru a ajunge la platforme multiple. E nevoie de mai puțini programatori pentru a livra produsele mai repede către clienți. Mai mult, recomandăm folosirea Firebase (Flutter Fire) și Azure Functions, acesta fiind un toolkit care va face ca ideea voastră să devină realitate. Rezultatul va fi o aplicație nouă pe care o veți livra rapid și care va avea impact în lume.

NUMĂRUL 149 - Development with AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects