Ezt a webhelyet Kohei Koyanagi által fejlesztett szoftver fordítja automatikusan több nyelvre. A legpontosabb információért lásd az eredetit angol nyelven.

A Splync v1.10 frissíthető

Mit jelent az, hogy „frissíthető”

A legtöbb iPhone-felhasználó ösztönösen tudja, hogy a képernyő lehúzásával frissítheti a tartalmat sok alkalmazásban — ez a klasszikus lehúzás-frissítés gesztus, és pontosan ezt értjük „frissíthető” alatt. A korábbi Splync verziók nem támogatták ezt a funkciót. A képernyő frissítéséhez bezárni és újra megnyitni kellett az alkalmazást. Ez nem volt túl zavaró, mivel a Splync v1.3 óta az alkalmazás bejelentkezve tartott, de mégsem volt ideális. Mivel a Splync célja, hogy a legegyszerűbb közös költségkövető legyen, a képernyő frissítésének teljesen könnyedén kell megtörténnie. Ezért vezettük be a lehúzás-frissítést a v1.10-ben, így a Splync teljesen frissíthető lett.

Két módja annak, ahogyan a Splync frissíti az adatait(Teljes újratöltés / Nézet frissítése)

A Kezdőképernyőn — ahol a profilképed, barátlistád és projektlistád látható — a lehúzás-frissítés teljes újratöltést hajt végre. Újra lekéri az összes fiókkal kapcsolatos adatot, hasonlóan ahhoz, mintha kijelentkeznél és újra bejelentkeznél. Emiatt a frissítés körülbelül egy másodpercig tarthat, amíg a betöltési üzenet megjelenik. Egy Projekt képernyőn, ahol a kiadási lista megjelenik, ugyanaz a lehúzó gesztus könnyebb nézetfrissítést vált ki. Csak a projekt-specifikus adatok frissülnek, például a kategóriaváltozások és kiadásfrissítések. Nem kell teljes másodpercet várnod csak azért, hogy lásd, valaki új költséget adott hozzá. Figyelem: a Splync nem kér le automatikusan projektadatokat a szerverről a háttérben. Az alkalmazás csak akkor ellenőrzi a frissítéseket, ha változtatásokat hajtasz végre, ha megnyitsz egy kiadást a részletek megtekintéséhez, vagy manuálisan frissíted a projektoldalt.

Miért ne valós idejű szinkronizálás

Néhány felhasználó arra számíthat, hogy a projektfrissítések azonnal megjelennek, amikor egy barát új kiadást ad hozzá. A valós idejű szinkronizálás kényelmesen hangzik, de fontos kompromisszumokkal jár. A folyamatos háttérfrissítések több akkumulátort, több mobil adatot és összetettebb szerverkapcsolatot igényelnek, ami lassíthatja az alkalmazást mindenki számára. A Splync igény szerinti megközelítése könnyed és gyors élményt biztosít, és megakadályozza, hogy a képernyő hirtelen változzon, miközben a költségvetésedet nézed át. Biztonsági megfontolások is vannak. A szerverrel való folyamatos kapcsolat fenntartása növeli a jogosulatlan hozzáférés lehetőségét és további hitelesítési logikát igényel a háttérben. Azáltal, hogy csak akkor frissítünk, amikor te cselekszel, a Splync minimalizálja a felesleges hálózati tevékenységet, és kiszámíthatóbbá és ellenőrzöttebbé teszi az adathozzáférést.

A .refreshable kódja mögött

Eleinte azt hittem, hogy ez a frissítés egyszerű lesz. A Swift, amely az iOS-fejlesztéshez használt nyelv, lehetővé teszi a lehúzás-frissítés engedélyezését egyszerűen a .refreshable módosító hozzáadásával a ScrollView-hoz vagy a Listához. Azonban nem úgy működött, ahogy vártam. A probléma alaposabb vizsgálata után rájöttem az alapvető okra. A lehúzás-frissítést az egész felső képernyőre akartam hozzáadni, amely tartalmazza a barátlistát és a projektlistát. Az eredeti tervezésben mindkét komponens is görgethető volt. Ennek eredményeként a .refreshable nem tudta, melyik görgethető területhez tartozik, és a gesztus nem mindig volt érzékelhető. Ennek megoldására átalakítottam a barátlistát és a projektlistát úgy, hogy önállóan ne legyenek görgethetők. Ez biztonságos, mert a felső szintű nézet maga is görgethető, ha a tartalom meghaladja a képernyőmagasságot. Miután egyszerűsítettem a struktúrát, és biztosítottam, hogy csak egy görgethető tartály legyen, a .refreshable végre pontosan úgy viselkedett, ahogy kell. Továbbá hozzáadtam egy tipikus frissítés gombot, hogy a felhasználók egyszerűen megérinthessék a frissítéshez.

Nem működik a lehúzás? Húzd kicsit tovább

A legtöbb iOS alkalmazásban a lehúzás-frissítés nem aktiválódik abban a pillanatban, amikor elkezdesz húzni. A SwiftUI beépített gesztusküszöbbel rendelkezik: a rendszer vár, amíg egy bizonyos távolságot le nem húzol, mielőtt aktiválná a frissítést. Ez megakadályozza a véletlen frissítéseket, amikor egyszerűen a képernyő tetejéről kezdesz görgetni. A Splync követi ezt a szabványos viselkedést. Észreveheted, hogy egy rövid húzás nem frissíti a tartalmat, de egy kicsit hosszabb húzás — éppen annyi, hogy a frissítési jelző megjelenjen — már aktiválja a frissítést. Ez a tervezés szándékos interakciókat biztosít. Elkerüli a nem kívánt frissítéseket, különösen azokon a képernyőkön, ahol a felhasználók gyakran hosszú kiadási vagy projektlistákon görgetnek. Amint kissé „túlhúzod” a felső határt, és a jelző megjelenik, a frissítés megkezdődik, amint felengeded az ujjad. Ez egy apró részlet, de hozzájárul a simább és kiszámíthatóbb élményhez. Csak hogy tisztázzuk: nem arról van szó, hogy hosszabb ideig kell húzni vagy erősebben nyomni. Az számít, hogy hosszabb távolságot húzz le.

Egy kicsi, gondosan kidolgozott funkció

A lehúzás-frissítés lehet, hogy csak egy apró interakciónak tűnik, de a megvalósítása tervezési döntéseket, technikai átalakítást és meglepően sok szempontot igényelt a háttérben. A Splync v1.10 a frissítéseket természetessé, szándékossá és kiszámíthatóvá teszi — pontosan úgy, ahogyan a legegyszerűbb közös költségkövető alkalmazásban kellene lennie. Remélem, hogy ez a frissítés simább élményt nyújt, és bepillantást enged a részletek iránti gondoskodásunkba. Köszönöm, hogy a Splync-et használod.