Hummingbird a fost anunțat la evenimentul de lansare Flutter din 4 decembrie. Un proiect care ne va permite să compilăm aplicațiile noastre flutter în Progressive Web Apps cu drepturi depline. Deci… mai merită Angular Dart?
Voi încerca să împărtășesc cât am adunat până acum, în speranța că descoperirile mele îi vor ajuta și pe alții.
:-p
Prima întrebare este dacă putem sau nu să le folosim efectiv pe cele două.
Angular Dart Versiunea actuală a AngularDart este 5.2.0. Este stabilă(este de câțiva ani), folosită în proiectele de mare impact ale Google și în proiecte din întreaga lume.
Hummingbird Cei care susțin că hummingbird se află în prezent în faza alfa. Cu toate acestea, tot ce avem este o prezentare tehnică. Mai mult o propunere decât orice altceva, în care echipa a discutat temeinic direcțiile tehnice pe care le are în vedere. (AICI: https://medium.com/flutter-io/hummingbird-building-flutter-for-the-web-e687c2a023a8)
nu există nimic de testat începând cu 5 ianuarie 2019
Ce fac ei de fapt?
Ce se face aici?
Ce bine că ai întrebat! Vom încerca să înțelegem ce sunt aplicațiile cu o singură pagină, ce sunt aplicațiile web progresive și să analizăm rezultatele așteptate de Angular și Hummingbird. Acest lucru ne va ajuta să înțelegem problemele pe care acestea intenționează să le rezolve.
SPAs vs PWAs
Single Page Applications
O aplicație cu o singură pagină (SPA) este o aplicație web sau un site web care interacționează cu utilizatorul prin rescrierea dinamică a paginii curente, mai degrabă decât prin încărcarea unor pagini noi întregi de pe un server. – Wikipedia
Caracterul #
, atunci când este inclus în URL-uri, în loc să provoace reîncărcarea paginii, va provoca o anumită interacțiune în cadrul paginii. SPA-urile se folosesc de această caracteristică a browserului.
De exemplu, în Wikipedia, dacă dăm clic pe un titlu din index, în loc să se reîncarce pagina, browserul ne duce la acea secțiune a paginii.
Vă la https://www.wikiwand.com/en/Single-page_application#/Ajax
Schimbă Ajax
în Websockets
și apasă enter.
Se va reîncărca pagina? Nu. Se va schimba pur și simplu configurația
SPA-urile trec la nivelul următor. Întreaga aplicație și toate ecranele sale funcționează de pe o singură pagină, folosind URL-uri bazate pe #
pentru toate funcționalitățile lor.
PWAs
Progressive Web Apps sunt experiențe de utilizator care au raza de acțiune a web-ului și sunt fiabile, rapide și captivante
– developers.google.com
PWA-urile sunt site-uri web (pot fi site-uri web obișnuite sau aplicații cu o singură pagină) care sunt optimizate într-un anumit mod, astfel încât să
Funcționeze în mod fiabil atât offline, cât și cu un internet nesigur (Lie-Fi)
Sunt rapide, optimizate pentru o performanță percepută ridicată
Încântătoare – Se simt ca o aplicație nativă și nu mai puțin.
Ce face AngularDart? AngularDart sau Angular în general este un framework pentru scrierea SPA-urilor. Acesta oferă dezvoltatorilor o modalitate de a scrie SPA-uri cu caracteristici precum:
Bidirectional Data Binding
Routing
Templating
Directives
Și multe altele. UI-ul propriu-zis este în continuare scris cu HTML + CSS. Angular oferă pur și simplu tot ceea ce le permite dezvoltatorilor web să își dezvolte SPA-urile. Ideea principală este:
Angular Dart nu este un UI Framework
Aplicațiile Angular Dart pot sau nu pot fi PWA-uri
Ce sunt atunci Angular Web Components? Sunt o grămadă de componente de design material furnizate de pachetul angular_components
care acționează ca șabloane cu care se construiesc aplicații.
Nu sunt suportate în Internet Explorer
Ele sunt încă scrise în HTML + CSS + Dart
Ce va face Hummingbird? Deocamdată sunt doar speculații. Va avea scopul de a transforma orice aplicație Flutter într-un PWA. Ar putea sau nu să fie un SPA(cel mai probabil va fi). Cu toate acestea, va încerca să facă tot ceea ce face flutter.
Cu el am putea folosi Flutter UI Framework, să folosim toate caracteristicile flutter SDK, cum ar fi widgeturile de gestionare a stării și toate celelalte… și, cu un singur clic, să producem un PWA alături de aplicațiile Android și iOS pe care le avem deja!
Există multe provocări pe parcurs, dar dacă Google realizează acest lucru, acesta va fi totul pentru SDK-uri.
Starea aplicațiilor All-Dart
Dash face furori în acest moment Să încercăm să înțelegem diferența dintre combinațiile Flutter + AngularDart și Flutter + Hummingbird, dacă ar fi să scriem o aplicație All-Dart.dart un set de aplicații pentru web și native.
PREZENT: Flutter + Angular Dart Pentru a scrie o astfel de aplicație vom avea nevoie de:
Scrieți un pachet de bază care să conțină toată logica de business, asigurându-vă că acesta nu are dependențe angular sau flutter, iar toate aceste dependențe îi sunt injectate din exterior
Scrieți PWA-ul Angular care se abonează la nucleu pentru toate funcționalitățile * UI cu HTML + CSS sau compunând componente angular * Routing, managementul stării cu modul de lucru Angular
Scrieți o aplicație Flutter care se abonează la același nucleu pentru toate funcționalitățile * UI cu cadrul Flutter UI * Routing, State Management etc. cu modul de lucru Flutter
Compilați pentru iOS și Android din proiectul Flutter
Compilați pentru Web din proiectul Angular
Reduce cantitatea de muncă partajarea codului? În timp ce partajarea codului reduce cu siguranță „cantitatea de cod”, din experiența mea nu a redus cu adevărat cantitatea de muncă ce trebuie efectuată. Mă obligă să fiu mult mai atent pe parcursul procesului.
Care sunt beneficiile atunci?
Codul este mai curat și arhitectura este mai bună
Sunt obligat și îmi este mai ușor acum să mențin paritatea funcțiilor între platforme.
FUTURUL: Flutter + Hummingbird Pentru a scrie o astfel de aplicație va trebui să:
Scrieți o aplicație Flutter * Interfața utilizator cu cadrul Flutter * Rutere, managementul stării etc. în modul Flutter
Compilați pe trei platforme diferite
Făcut.
Este mai puțin de lucru? La naiba, da!
Concluzie
Verdictul suprem
Iată-l. O defalcare a ceea ce știm despre flutter, angular dart, hummingbird și partajarea codului unul cu celălalt.
Dacă dezvoltați ceva chiar acum… Dați-i drumul la flutter + angular dart. Nu este la fel de ușor ca visul hummingbird, dar totuși este cea mai bună cale de urmat.
Hummingbird deocamdată este un vis îndepărtat. Un proiect pe care cu siguranță ar trebui să sperăm că se va realiza cândva și să îl susținem cu toate eforturile noastre, dar Dilli abhi door hai
(acel viitor este îndepărtat).