Compania Google a lansat framework-ul pentru construirea interfețelor utilizator Flutter 2, care a marcat transformarea proiectului dintr-un framework pentru dezvoltarea aplicațiilor mobile într-un framework universal pentru crearea oricărui tip de programe, inclusiv aplicații pentru sisteme desktop și aplicații web.
Flutter este considerat o alternativă la React Native și permite, pe baza unei singure baze de cod, lansarea de aplicații pentru diferite platforme, inclusiv iOS, Android, Windows, macOS și Linux, precum și aplicații care pot fi rulată în browsere. Aplicațiile mobile deja scrise în Flutter 1 vor putea fi adaptate pentru utilizarea pe desktop și web în urma tranziției la Flutter 2, fără a fi necesară rescrierea codului.
Majoritatea codului Flutter este realizat în limbajul Dart, iar motorul runtime pentru executarea aplicațiilor este scris în C++. În dezvoltarea aplicațiilor, pe lângă limbajul Dart, nativ pentru Flutter, se poate utiliza interfața Dart Foreign Function pentru a apela cod în C/C++. Performanța înaltă este atinsă datorită compilării aplicațiilor în cod mașină pentru platformele țintă. În acest fel, programul nu trebuie recompilat după fiecare modificare — Dart oferă un mod de reîncărcare rapidă, permițând modificări în aplicația în funcțiune și evaluarea imediată a rezultatului.
Flutter 2 oferă suport complet pentru crearea de aplicații web, adecvat pentru implementări profesionale. Sunt menționate trei scenarii principale de utilizare a Flutter pentru web: dezvoltarea de aplicații web autonome (PWA, Aplicații Web Progresive), crearea de aplicații web cu o singură pagină (SPA, Aplicații cu o singură pagină) și transformarea aplicațiilor mobile în aplicații web. Printre caracteristicile instrumentelor de dezvoltare pentru web se numără utilizarea mecanismelor de accelerare a redării graficii 2D și 3D, organizarea flexibilă a elementelor pe ecran și motorul de redare CanvasKit compilat în WebAssembly.
Suportul pentru aplicații desktop se află în faza de testare beta și va fi stabilizat în acest an, în una dintre următoarele versiuni. Companiile Canonical, Microsoft și Toyota au anunțat suport pentru dezvoltarea folosind Flutter. Canonical a ales Flutter ca principal framework pentru aplicațiile sale, aplicându-l și în dezvoltarea noului instalator pentru Ubuntu. Microsoft a adaptat Flutter pentru dispozitivele pliabile cu mai multe ecrane, cum ar fi Surface Duo. Toyota plănuiește să utilizeze Flutter pentru sistemele de infotainment auto. De asemenea, pe baza Flutter a fost construită interfața utilizator pentru sistemul de operare microkernel Fuchsia, dezvoltat de Google.

De asemenea, a fost lansată versiunea 2.12 a limbajului de programare Dart, în care continuă dezvoltarea unei ramuri complet revizuite a Dart 2. Dart 2 se distinge de versiunea inițială a limbajului Dart prin aplicarea tipizării statice puternice (tipurile pot fi inferate automat, astfel încât specificarea acestora nu este obligatorie, însă tipizarea dinamică nu mai este utilizată, iar tipul inițial calculat este asociat variabilei și supus unei verificări stricte a tipului pe parcurs).
Lansarea se remarcă prin stabilizarea modului de utilizare sigur a valorii „Null” (null safety), care evită prăbușirile cauzate de încercările de utilizare a variabilelor a căror valoare nu este definită și este setată la „Null”. Modul implică faptul că variabilele nu pot avea valori nedefinite, cu excepția cazului în care li se atribuie explicit valoarea null. În acest mod, tipurile variabilelor sunt luate strict în considerare, ceea ce permite compilatorului să aplice optimizări suplimentare. Compatibilitatea tipurilor este verificată în timpul compilării; de exemplu, în cazul încercării de a atribui valoarea „Null” unei variabile cu un tip care nu permite o stare nedefinită, cum ar fi „int”, va fi generată o eroare.
O altă îmbunătățire importantă a Dart 2.12 a fost implementarea stabilă a bibliotecii FFI, care permite crearea de cod performant, din care se poate accesa API-uri scrise în limbajul C. Au fost efectuate optimizări de performanță și dimensiune. Au fost adăugate instrumente pentru dezvoltatori și un sistem de profilare a codului scris folosind Flutter, precum și pluginuri noi pentru dezvoltarea aplicațiilor pe Dart și Flutter pentru Android Studio/IntelliJ și VS Code.

Sursa: opennet.ro
