ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
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 148
Abonament PDF

Suportul capabilităților offline în ecosistemul Android

Alexandru Tănase
Senior Software Engineer @ Cognizant



PROGRAMARE

În lumea mobilă, aflată în continuă evoluție, se acordă foarte multă atenție celor mai noi tendințe, tehnologii și potențialului uimitor, dar neexploatat, al celor mai noi dispozitive și descoperiri din domeniul internetului. Și, chiar dacă toate aceste elemente ar trebui, de fapt, să fie în centrul atenției, uneori este bine să ne amintim și să privim mai de aproape elementele inițiale care au făcut ca universul mobile să evolueze la forma pe care o știm astăzi. Una dintre aceste pietre de temelie este capacitatea aplicațiilor mobile de a funcționa offline.

Este aceasta o caracteristică reală sau o soluție fallback?

În ceea ce privește utilizarea, modul offline este una dintre cele mai răspândite caracteristici ale aplicațiilor mobile, fiind disponibil în aproape toate aplicațiile cu mai mult de 1 miliard de utilizatori (Gmail, Google Drive, Facebook, Google Photos, Netflix etc.).

Având în vedere necesitatea de a oferi continuitate experienței utilizatorilor în mediul aplicațiilor mobile, precum și nevoia de persistență a datelor în condiții slabe de conexiune, suportul offline este o parte integrantă a modului în care sunt structurate aplicațiile moderne.

Structura de bază

Există multe variante arhitecturale pentru suportul offline în cadrul aplicațiilor, acestea variind în funcție de modelul de afacere în care sunt integrate și de fluxul care trebuie optimizat.

Diagrama de bază poate fi sumarizată astfel:

Sursă imagine: https://developer.android.com/topic/architecture/data-layer/offline-first

Sincronizarea informației

A. Reîncercare Graduală Exponențială

Încercările de a citi din sursa de date de rețea sunt efectuate la intervale de timp crescătoare până când citirea reușește sau alte condiții dictează că ar trebui să se oprească.

Sursă imagine: https://developer.android.com/topic/architecture/data-layer/offline-first

B. Monitorizarea Conectivității la Rețea

Încercările de citire sunt puse în coadă până când sunt îndeplinite condițiile ideale pentru actualizări (de exemplu, când se stabilește conexiunea la internet).

Sursă imagine: https://developer.android.com/topic/architecture/data-layer/offline-first

C. Scrieri Exclusiv Online

Dacă încercarea de a scrie datele prin rețea reușește, sursa locală de date se actualizează. În caz contrar, se aruncă o excepție, lăsând apelantul să răspundă în mod corespunzător.

Se aplică frecvent pentru scenarii de scriere care trebuie să aibă loc online în timp aproape real, de exemplu, un transfer bancar.

Sursă imagine: https://developer.android.com/topic/architecture/data-layer/offline-first

D. Scrieri În Coadă

Când există informații care trebuie scrise, acestea sunt introduse într-o coadă. Coada este parcursă în sistem de reîncercare exponențială atunci când aplicația revine online.

Sursă imagine: https://developer.android.com/topic/architecture/data-layer/offline-first

E. Scrieri Lazy

Scrierea datelor se face mai întâi local. Apoi, datele sunt puse în coadă pentru a notifica rețeaua cu prima ocazie când sunt îndeplinite condițiile ideale de scriere.

Sursă imagine: https://developer.android.com/topic/architecture/data-layer/offline-first

F. Sincronizare Controlată de Server (bazată pe push)

G. Sincronizare Controlată de Aplicația Mobilă (bazată pe pull)

În sincronizarea bazată pe pull, aplicația mobilă accesează rețeaua pentru a citi cele mai recente date disponibile, atunci când este necesar.

Un flux comun pentru această abordare este cel bazat pe navigare, unde aplicația mobilă recuperează datele doar înainte de a trebui să le prezinte utilizatorului.

Avantaje și dezavantaje

Avantaje Dezavantaje
Viteza: Suportul offline oferă o Complexitate crescută în dezvoltare:
experiență mobilă mai fluidă, deoarece Echipa de dezvoltare trebuie să ia în
nu se bazează complet pe datele de pe considerare un mecanism de cache,
server, evitând timpi de așteptare mari rezolvarea conflictelor și sincronizarea
cauzați de o conexiune slabă. datelor.
Eficiență: Elimină nevoia unei Durata inițială de încărcare:
conexiuni stabile la internet pentru a Stocarea în cache a datelor mari
putea continua cu un anumit scenariu. crește dimensiunea conținutului util,
afectând timpii de încărcare și mărind
dimensiunea aplicației pe disc.
Întotdeauna disponibil: Face Spațiul de stocare: Spațiul de
funcțiile esențiale ale aplicației să stocare pe dispozitiv trebuie optimizat
fie disponibile, indiferent de pentru a nu afecta negativ experiența
conectivitatea la internet. utilizatorului.

Concluzii finale

Încă de la apariția lor, principalul factor determinant al aplicațiilor mobile, a fost experiența utilizatorilor. Acest aspect a făcut întotdeauna diferența între succesul unei aplicații și eșecul acesteia. Păstrând acest lucru în minte, industria de IT a lucrat neîncetat la îmbunătățirea și dezvoltarea unei experiențe "perfecte" pentru utilizatorii săi. Dintre multitudinea de tehnici și inovații pe acest subiect, bazat pe longevitatea aceste caracteristici implementate în aplicațiile mobile, putem constata că suportul offline a trecut testul timpului și s-a concretizat ca una dintre pietrele fundamentale în dezvoltarea aplicațiilor și în asigurarea unei experiențe ideale pentru utilizatorii săi.

Conferință TSM

NUMĂRUL 147 - Automotive

Sponsori

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