Ce înseamnă „Refreshable”
Majoritatea utilizatorilor de iPhone știu instinctiv că trăgând în jos pe ecran se reîmprospătează conținutul în multe aplicații — acesta este gestul clasic pull-to-refresh și exact asta înseamnă „refreshable”. Versiunile anterioare ale Splync nu suportau această funcție. Singura modalitate de a reîmprospăta ecranul era să închizi aplicația și să o redeschizi. Acest lucru nu era prea deranjant, deoarece aplicația te menține conectat încă de la Splync v1.3, dar totuși nu era ideal. Deoarece Splync își propune să fie cel mai simplu tracker de buget partajat, reîmprospătarea ecranului ar trebui să fie complet fără efort. De aceea, am introdus pull-to-refresh în v1.10, făcând Splync complet refreshable.
Două moduri în care Splync îți reîmprospătează datele (Reîncărcare completă / Actualizare vizualizare)
Pe ecranul principal — unde vezi poza de profil, lista de prieteni și lista de proiecte — pull-to-refresh efectuează o reîncărcare completă. Aceasta reia toate datele legate de cont, foarte asemănător cu deconectarea și reconectarea. Din această cauză, reîmprospătarea poate dura aproximativ o secundă în timp ce este afișat mesajul de încărcare. Pe un ecran de proiect, unde apare lista ta de cheltuieli, același gest de tragere în jos declanșează o actualizare vizuală mai ușoară. Doar datele specifice proiectului sunt reîmprospătate, cum ar fi schimbările de categorii și actualizările de cheltuieli. Nu este nevoie să aștepți o secundă întreagă doar pentru a vedea dacă cineva a adăugat o cheltuială nouă. De asemenea, reține: Splync nu preia automat datele proiectului de pe server în fundal. Aplicația verifică pentru actualizări doar atunci când faci modificări, când deschizi o cheltuială pentru a-i vedea detaliile sau când reîmprospătezi manual pagina proiectului.
De ce nu sincronizare în timp real
Unii utilizatori pot aștepta ca actualizările proiectului să apară instantaneu atunci când un prieten adaugă o nouă cheltuială. Sincronizarea în timp real pare convenabilă, dar vine cu compromisuri importante. Actualizările continue în fundal necesită mai multă baterie, mai multe date mobile și o conexiune la server mai complexă care poate încetini aplicația pentru toată lumea. Abordarea la cerere a Splync menține experiența ușoară și receptivă și previne schimbările bruște ale ecranului în timp ce îți revizuiești bugetul. Există și considerații de securitate. Menținerea unei conexiuni constante la server crește fereastra de expunere pentru acces neautorizat și necesită logică de autentificare suplimentară care rulează în fundal. Prin reîmprospătarea doar când iei măsuri, Splync minimizează activitatea de rețea inutilă și menține accesul la date mai previzibil și controlat.
În spatele codului .refreshable
La început, am crezut că această actualizare va fi simplă. În Swift, limbajul utilizat pentru dezvoltarea iOS, poți activa pull-to-refresh doar atașând modificatorul .refreshable la un ScrollView sau List. Totuși, nu a funcționat cum mă așteptam. După ce am investigat problema, am realizat cauza principală. Am vrut să adaug pull-to-refresh pentru întregul ecran de sus, care conține lista de prieteni și lista de proiecte. Dar în designul original, ambele componente erau de asemenea derulabile. Ca rezultat, .refreshable nu știa cărui spațiu derulabil îi aparține și gestul nu era detectat constant. Pentru a rezolva acest lucru, am restructurat lista de prieteni și lista de proiecte astfel încât să nu mai fie derulabile de sine stătătoare. Acest lucru este sigur deoarece vizualizarea de nivel superior se derulează atunci când conținutul depășește înălțimea ecranului. Odată ce am simplificat structura și am asigurat că există doar un singur container derulabil, .refreshable s-a comportat în sfârșit exact așa cum am intenționat. Am adăugat și un buton de reîmprospătare tipic astfel încât utilizatorii să poată pur și simplu apăsa pentru a reîmprospăta.
Tragerea nu funcționează? Trage puțin mai departe
În majoritatea aplicațiilor iOS, pull-to-refresh nu se activează în momentul în care începi să tragi. SwiftUI are un prag de gest încorporat: sistemul așteaptă până când tragi în jos o anumită distanță înainte de a declanșa reîmprospătarea. Acest lucru previne actualizările accidentale când pur și simplu începi să derulezi de la începutul ecranului. Splync urmează acest comportament standard. Poți observa că o tragere scurtă nu reîmprospătează conținutul, dar o tragere puțin mai lungă — suficientă pentru a apărea indicatorul de reîmprospătare — va declanșa actualizarea. Acest design menține interacțiunile intenționate. Evită reîmprospătările nedorite, mai ales pe ecranele unde utilizatorii derulează frecvent prin liste lungi de cheltuieli sau proiecte. Odată ce depășești puțin limita de sus și apare indicatorul, reîmprospătarea va începe imediat ce eliberezi degetul. Este un detaliu mic, dar contribuie la o experiență mai lină și mai previzibilă. Doar pentru a clarifica: nu este vorba de a trage mai mult timp sau de a aplica o presiune mai mare. Ce contează este să tragi pe o distanță mai lungă.
O funcție mică, realizată cu grijă
Pull-to-refresh poate părea o interacțiune mică, dar construirea ei a implicat alegeri de design, restructurare tehnică și un număr surprinzător de considerații în spatele scenei. Splync v1.10 face ca reîmprospătarea datelor tale să se simtă natural, intenționat și previzibil — exact așa cum ar trebui să fie în cea mai simplă aplicație de buget partajat. Sper ca această actualizare să îți ofere o experiență mai lină și o privire asupra grijii care se pune în fiecare detaliu. Mulțumim că folosești Splync.