De ce ar trebui dezvoltatorii de aplicații pentru Android și iOS să ia în considerare Flutter{2021-2022}

Publicat: 2019-03-28

Discuția liniștită a orașului din lumea aplicațiilor mobile este că, în viitor, aplicațiile native – cele create special pentru Android și iOS se vor confrunta cu o concurență puternică din partea celor dezvoltate pentru ambele folosind o singură bază de cod: Cross-Platform.

Trasă de observația că cadrele multi-platformă precum React Native și cele precum Flutter, care sunt și mai avansate, lumea mobilității va intra în curând într-o eră în care întrebarea vocală: Native vs Cross Platform va deveni și mai proeminentă și mai puternică. .

Și, deși astăzi, nu există nicio potrivire pentru dezvoltarea nativă pentru Android și iOS și pentru beneficiile pe care le oferă, există un cadru secundar care apare acum pentru a oferi o competiție de nivel complet umplut cu combustibil abordării native – Flutter.

Cadrul care se presupunea a fi hobby-ul Google, care avea să fie uitat în curând când a primit prima actualizare Flutter 1.2 și Dart 2.2 a schimbat imaginea completă.

Instrumentul, în câteva luni, nu doar a găsit o bază de utilizatori loiali în unele dintre cele mai consacrate nume din lume – Alibaba, Tencent etc. – dar a lansat și un plan Hemmingway în care nu a mers niciun cadru multiplatformă. înainte – Web.

Întreaga industrie, văzând beneficiile asociației Flutter, se încălzește acum la ideea că ziua competiției supreme este aproape.

Acum nu spunem că s-ar întâmpla peste noapte, ar dura timp, dar se crede că industria aplicațiilor se îndreaptă acolo.

Vedeți cum comunitatea de aplicații mobile – atât din partea dezvoltatorilor, cât și a companiilor, se încălzește cu ideea ca Flutter să fie prima alegere pentru dezvoltarea de aplicații.

Stats of Flutter Movement

De fapt, acesta este motivul pentru care din ce în ce mai mulți dezvoltatori se îndreaptă acum pentru a-și încerca mâna la o gamă largă de stivă și limbi tehnologice, astfel încât să rămână la cerere atunci când va veni momentul dispariției nativelor.

Acum, în timp ce React Native s-a impus deja ca un cadru pe care dezvoltatorii de aplicații care doresc să continue în linia de dezvoltare ar trebui să pună mâna lor, faimosul instrument se vede acum deturnat de un instrument complet nou pe bloc – Flutter. Și lista de avantaje ale dezvoltării aplicației mobile Flutter nu este, de asemenea, lăsată necunoscută.

Flutter Pros 2021

Ce este inovator, diferit și simplu executat despre Flutter? Să trecem în revistă caracteristicile și avantajele și dezavantajele 2021 care vă vor face să vă gândiți să renunțați la React Native pentru un nou instrument.

Widgeturi personalizate pentru codarea rapidă a interfeței de utilizare

Cel mai revoluționar lucru despre flutter este că ajută la crearea unei interfețe cu utilizatorul cu ajutorul blocurilor de construcție și al modelului său de obiect coerent și unificat.

Flutter poate fi numit ca widget, deoarece orice obiect din Flutter este un widget, fie că este un buton, un padding sau un font. Widgeturile pot fi consolidate pentru a face modele sau layout-uri și puteți decide să utilizați widget-urile pe orice grad de personalizare, de exemplu, de la pătrate de structură până la cel mai de jos nivel, atunci când vă creați propriile widget-uri cu aceleași instrumente pe care le-a făcut echipa Flutter pe ale lor.

Faptul că Flutter are propriile widget-uri vă oferă un beneficiu major, și anume, personalizarea interfeței de utilizare care, de obicei, durează cel mai mult pentru a fi finalizată în dezvoltarea multiplatformă, durează o perioadă minimă de timp cu Flutter.

O comunitate în creștere

Având în vedere că obișnuința cu Dart nu este o problemă mare pentru tine, învățarea instrumentului ar trebui să fie simplă. Grupul Flutter a observat că au văzut persoane cu cunoștințe limitate de programare, prototipare și creare de aplicații și, în plus, specifică că nu este necesară nicio experiență de îmbunătățire a dispozitivelor mobile pentru a începe cu Flutter.

Pentru o tehnologie atât de tânără, Flutter crește foarte repede. Conform statisticilor, s-a demonstrat că a existat o creștere rapidă a utilizării Flutter, peste jumătate de milion de dezvoltatori utilizând Flutter în fiecare lună. Unele dintre statistici arată mai jos creșterea în creștere a Flutter .

  • Se observă că aproape 78% dintre dezvoltatorii Flutter folosesc canale stabile, 11% folosesc beta, iar restul de 11% folosesc fie dev, fie master.
  • India, China, Statele Unite ale Americii, UE și Brazilia sunt primele cinci teritorii pentru Flutter.
  • Aplicațiile Flutter publicate în Magazinul Play sunt considerate a fi aprox. 90.000.

Dart – limbaj simplu și convingător

Dart este un limbaj de ultimă oră orientat pe obiecte care vă va ajuta să vă amintiți Java sau C++ cu sintaxa sa. Susține stilurile de compunere solide și slabe, făcându-l ușor de preluat pentru începători.

Nu sunt necesare înregistrări XML. În dezvoltarea Android, munca este împărțită în design și cod. Formatul ar trebui să fie scris în XML ca vizualizări la care se face referire apoi în codul Java. Dart se ocupă de asta păstrând formatul și codul într-un singur loc. Deoarece obiectele din Flutter sunt widget-uri, astfel, aspectul este creat în Dart.

După cum știți, aplicația de pe gadgetul unui utilizator va rula cu ușurință datorită Dart, deoarece se compilează în cod local fără punte, astfel, Dart oferă o execuție mai bună fără o conexiune JavaScript.

O notă importantă despre Dart este că limbajul nu este limitat la dezvoltarea mobilă, deoarece este utilizat pentru construirea de aplicații web. Este utilizat în mod normal împreună cu structurile web și AngularDart.

Funcția de reîncărcare

Revenirea la programarea obișnuită, unde implementarea durează câteva minute, poate fi o luptă. Reîncărcarea la cald crește productivitatea programatorilor, ajută la iterații rapide și vă permite să experimentați fără întârzieri mari. Xamarin și React Native au și echivalentele acestei caracteristici, dar unele recenzii susțin că este mult mai rapid în Flutter. Încă nu am văzut puncte de referință pentru dovada acestui lucru.

Acest instrument este fixat în designul lui Flutter și nu are nevoie de niciun plugin pentru a funcționa. Reîncărcarea la cald vă permite să vedeți actualizările în timp real. De exemplu, să presupunem că ați întâmpinat o eroare în timpul rulării unui program. În Flutter, aveți avantajul să îl remediați imediat, mergând de unde ați rămas, fără a reporni totul.

Revenirea la programarea obișnuită, unde implementarea necesită câteva minute, ar putea fi o luptă pentru dvs. Reîncărcarea la cald crește eficiența dezvoltatorilor, ajută la iterații rapide și vă permite să testați fără amânări lungi.

Portabilitate

Flutter nu este doar un framework, este un SDK (Software Development Kit) total, poate rula pe orice dispozitiv cu ecran. Au fost realizate porturi de la terți pentru a dezvolta aplicații Flutter pentru Mac OS, Linux și Windows. Ele încorporează API-uri de implantare, funcții de introducere a mouse-ului și a tastaturii și diverse plugin-uri. Câțiva oameni au încercat chiar să dezvolte aplicații TV folosind Flutter. Având în vedere posibilitățile sale, devine zi de zi unul dintre cadrele iubite.

Performanta ridicata

O mulțime de componente intervin pentru a ajunge la prezentarea unei aplicații: utilizarea procesorului, timpul mediu de reacție, cadrele pe secundă (fps) și așa mai departe sunt câțiva dintre factorii care ajută la accesarea performanței unei aplicații. Flutter garantează o viteză constantă de 60 fps, care este rata la care ecranele actuale arată o imagine lină și clară. Orice întârziere a unei astfel de rate de cadre va fi observată rapid de un ochi, astfel încât dezvoltatorii încearcă să țină pasul cu momentul la acest nivel.

Deoarece ne-am aprofundat deja în dezbaterea React Native vs. Flutter în detaliu, împreună cu beneficiile dezvoltării aplicației Flutter față de dezvoltarea aplicației React Native , permiteți-ne, pentru acest articol, să ne concentrăm asupra de ce este timpul ca dezvoltatorii de Android și iOS să-și schimbe concentrați-vă pe serviciile de dezvoltare a aplicațiilor Flutter și să -și sporească abilitățile în domeniu.

Fără alte prelungiri, să începem cu impactul Flutter asupra dezvoltării aplicațiilor iOS și Android:

Ceea ce i-a împiedicat până acum pe dezvoltatorii de aplicații iPhone să-și investească timpul în dezvoltarea de aplicații multiplatformă este faptul că instrumentele care le permit să dezvolte două aplicații dintr-o singură bază de cod oferă o calitate care, evident, strigă că lipsește ceva. Acest sentiment de incompletitudine adăugat la faptul că Swift este unul dintre cele mai bune instrumente la care să lucrezi a fost motivul pentru a-i împiedica să se uite în direcția multiplatformelor.

Dar, de când Flutter a intrat pe piață, a devenit aproape imposibil să găsești o diferență între o aplicație nativă și una dezvoltată folosind framework-ul Flutter. Netezimea, netedența și simpla nativitate cu care vine cadrul face flutter pentru dezvoltatorii iOS și Android o alegere ideală.

Deoarece s-a stabilit deja că Flutter s-a făcut cunoscut în domeniul mobilității, momentul este potrivit pentru a vedea o mică comparație între Flutter și dezvoltarea aplicației native pentru iPhone, pentru a vă face o idee despre care este mai bună decât ce.

Răspunsul la dezvoltarea Flutter vs Native iOS poate fi văzut în următoarele puncte de comparație -

Stivă tehnologică unică

În timp ce Swift sau Objective-C intră în uz la dezvoltarea aplicațiilor native iOS, Flutter folosește limbajul Dart . De asemenea, IDE-urile, ca și limbile, sunt diferite. În timp ce aplicațiile native pentru iPhone sunt dezvoltate folosind Xcode, Flutter folosește Android Studio, IntelliJ Idea sau alte editori de text precum Atom sau Sublime Text. Acum, ceea ce face ca aplicațiile construite Swift să fie cu adevărat rapide este faptul că toate componentele care intră în ele sunt dezvoltate nativ. Flutter, pe de altă parte, folosește un cadru Dart fără a fi nevoie de o punte pentru a comunica cu modulele native - adică flutter pentru dezvoltatorii iOS are deja tot ceea ce este necesar pentru dezvoltarea aplicațiilor native.

Productivitatea dezvoltatorilor

Când aplicațiile iOS sunt dezvoltate nativ, dezvoltatorii sunt obligați să reconstruiască aplicația completă sau dependențele terțelor părți pentru a vedea modificările în dispozitive sau stimulator, de fiecare dată când fac o schimbare în aplicație.

Răspunsul la motivul pentru care folosiți flutter pentru dezvoltarea de aplicații ios și Android, pe de altă parte, constă în faptul că oferă o opțiune de reîncărcare la cald în care toate modificările care se fac apar pe simulator în timp real.

Cealaltă caracteristică care afectează productivitatea care este prezentă în dezvoltarea Native iOS este programul de gestionare a dependențelor. Gestionarea dependenței în cazul dezvoltării native depinde de mai multe instrumente terțe, cum ar fi Carthage sau CocoaPods, care vine cu o curbă de învățare. Beneficiile dezvoltării aplicației Flutter, în acest caz, pot fi observate în faptul că cadrul folosește instrumentul său personal de gestionare a dependenței numit Pub. Sistemul de gestionare a dependențelor este deja construit în aplicațiile Flutter, ceea ce face extrem de ușor obținerea de noi dependențe atunci când este necesar.

Elemente UI

Cadrul nativ care este folosit de Apple pentru a crea componente UI este cunoscut sub numele de UIKit – interfața de utilizator all-inclusive, bazată pe evenimente, care oferă o gamă largă de suport pentru gesturi. Cadrul vine cu suport nativ pentru document, animație, imprimare și desen. Cu toate acestea, motorul UI al Flutter acționează foarte diferit. Acesta rulează pe un motor de randare și propriul cadru. Motorul, care este practic un arbore de widget-uri stateful și fără stat, este fidel numelui său și oferă o mulțime de widget-uri care sunt perfect pixeli. UIKit of Flutter este, de fapt, motivul numărul unu pentru care dezvoltatorii de aplicații pentru Android și iOS ar trebui să ia în considerare Flutter.

Suport pentru testare

Apple oferă un cadru nativ de testare cunoscut sub numele de XCTest pentru integrare, performanță și testarea UI a aplicațiilor iOS – un cadru care nu este lipsit de probleme. Cadrul XCTest vine fără o serie de elemente importante, cum ar fi – gruparea de teste, testarea bazată pe date, testarea instantaneelor ​​etc. Dar unul dintre cele mai mari dezavantaje ale XCTest este batjocorirea și stubbingul, în timp ce primul cere mult cod, acolo nu este un suport nativ pentru acesta din urmă. Flutter oferă un cadru de testare solid, care permite dezvoltatorilor să scrie teste la nivel funcțional, unitar și de interfață. Cadrul are chiar documentație detaliată cu exemple de coduri, despre procesul care trebuie urmat pentru a testa aplicațiile la diferite niveluri. Testele de integrare Flutter care sunt similare cu testele Xcode UI sunt furnizate de un pachet separat – Flutter Driver.

Acum că ne-am uitat la toate elementele diferite care fac ca Flutter să fie ușor – sau în unele cazuri masiv – mai bun decât iOS nativ și am dat în anumite privințe motivul pentru care dezvoltatorii de aplicații pentru Android și iOS ar trebui să ia în considerare Flutter, este timpul să schimbăm atenție acordată dezvoltatorilor care își investesc timpul în dezvoltarea de aplicații care sunt disponibile pe Play Store.

În timp ce ambele cadre de dezvoltare a aplicațiilor Android native și Flutter provin de la aceeași companie-mamă - Google, trecerea de la Android nativ la Flutter este la fel de evidentă în cazul dezvoltatorilor de aplicații Android, precum a fost pentru dezvoltatorii de aplicații mobile pentru iPhone.

Iată indicațiile pe care trebuie să le evidențiem în caz de flutter pentru dezvoltatorii de Android și de ce dezvoltatorii nativi de Android ar trebui să-și extindă abilitățile și să-și încerce mâna la cadrul Flutter.

O absență a timpului de construcție Gradle foarte repetitiv

Gradle hands down este unul dintre cele mai importante instrumente din întregul proces de dezvoltare a aplicației Android, dar să recunoaștem – timpul de construire este foarte mare și este o piedică uriașă în ciclurile rapide de dezvoltare.

Pentru a avea un impact complet al Flutter asupra dezvoltării de aplicații iOS și Android, necesită și construirea Gradle, dar nu de atâtea ori ca Androidul nativ. În timp ce o versiune Flutter necesită, de asemenea, o versiune Gradle la începutul dezvoltării pentru prima dată, nu o necesită din nou pentru o repornire completă a aplicației. În timp ce Android Studio a redus, de asemenea, timpul de construcție Gradle la un număr bun, timpul de încărcare cu care vine Flutter, totuși, bate timpul de încărcare nativ într-o mare măsură.

Aceeași limbă pentru backend și aspect

Android nativ vine cu un aspect separat și fișiere Kotlin/Java care îi fac pe dezvoltatori să obțină referințe pentru vizualizări și apoi să le modifice în fișierele backend. Flutter, pe de altă parte, necesită un singur limbaj pentru proiectare, backend, în timp ce cadrul său reactiv elimină nevoia de referințe la widget-uri - devenind răspunsul la motivul pentru care creați aplicații cu Flutter și de ce să alegeți flutter în 2021 .

Dart preia cele mai bune limbi multiple

Java, chiar și după lansarea lui Java 8, lasă în urmă o urmă a domeniului de aplicare a îmbunătățirilor. În timp ce Dart a preluat în mod strategic cele mai bune caracteristici ale unui număr de limbi diferite, fără a scăpa de sentimentul atât de necesar al familiarității cu Java - ceva care face ca întregul proces de dezvoltare să fie aproape fără efort pentru dezvoltatori și profitabil pentru afacerile care aleg să investească într-un Dezvoltator de aplicații flutter în SUA.

Viteză mare de animație

Flutter simplifică și optimizează modelele de animație pentru a fi utilizate în aplicațiile mobile. Simplul fapt că Flutter pentru dezvoltatorii Android permite încărcarea animației la o viteză de 60FPS spune totul.

Acum că am văzut cum Flutter a devenit un cadru care rezolvă deficiențele cu care se confruntă atât dezvoltatorii de Android, cât și de iOS și de ce să creați aplicații cu Flutter a devenit o întrebare care nu este pusă, este timpul să vedem dacă necesitatea de a face această schimbare este urgentă. . Și dacă multe despre cadrul multiplatformă este chiar gata să înlocuiască procesele de dezvoltare native de ambele părți.

Este Flutter gata să fie folosit pentru producție?

Progresul real în Flutter a început odată cu Google, care a făcut ca Flutter să iasă din stadiul Beta și să intre pe piață ca Flutter 1.0 pentru ca lumea dezvoltatorilor să lucreze și pentru ca o serie de companii să adauge în stiva tehnologică a aplicației lor cu promisiunea unei nativități mai mari. și performanță mai mare – în Evenimentul Flutter Live .

Și doar două luni mai târziu, în februarie, cadrul multi-platformă acum iubit a fost consolidat odată cu lansarea Flutter 1.2 și Dart 2.2. Actualizările constante efectuate în cadrul Flutter de când a fost lansat live în decembrie sunt suficiente pentru a simboliza cât de serios este Google cu privire la cadru și ceea ce își dorește dezvoltatorii de aplicații mobile iOS și Android și companiile din toate sectoarele intenționează să obțină prin asocierea sa. .

În timp ce setul de funcționalități cu care vine dezvoltarea aplicației Flutter pentru iOS și Android și eforturile constante din partea echipei Google și a comunității în creștere Flutter de a-l face fără probleme și gata de scalabilitate sunt suficiente pentru a stârni temeiul dezvoltatorilor de aplicații native, timpul de comutare este nu azi. Probabil că nu și pentru încă 2-3 ani.

Cadrul este utilizat acum de unele dintre cele mai importante companii de creare de aplicații, chiar și după ce a fost gata de producție , se confruntă cu unele probleme proeminente din toate acestea, chiar și după ce comunitatea de dezvoltare a aplicațiilor Flutter a făcut o treabă genială de a elimina 9000 de probleme până în prezent. Probleme care variază de la deconectarea aleatorie a depanatorului, blocarea aplicației fără motive evidente.

În 2021, Flutter este mai mult decât pregătit pentru a fi folosit de dezvoltatorii de aplicații mobile în aplicații de complexitate redusă și prototipuri, dar a face trecerea către un proiect de aplicație de complexitate medie sau înaltă s-ar putea dovedi a fi stupid de riscant. Deși acest lucru este din partea afacerilor sau pentru perioada în care lucrați la o aplicație care ar intra în vigoare pe piață, în calitate de dezvoltatori de aplicații pentru Android și iOS , timpul este potrivit pentru a vă investi timpul în învățarea Flutter și explorarea funcțiilor acestuia. trebuie sa ofere.

Dacă nu astăzi, Flutter este la doar câteva probleme de a deveni prima alegere a întreprinderilor și startup-urilor . Iar timpul este destinat să sosească mai devreme decât mai târziu, ceea ce face imperativ să fii pregătit