Що означає "оновлювати"
Більшість користувачів iPhone інтуїтивно знають, що потягування вниз на екрані оновлює контент у багатьох додатках — це класичний жест "потягни для оновлення", і саме це ми маємо на увазі під "можна оновлювати". Раніше версії Splync не підтримували цю функцію. Єдиним способом оновлення екрана було закрити додаток і знову відкрити його. Це не було надто проблематично, оскільки додаток залишав вас у системі з версії Splync v1.3, але все-таки це було не ідеально. Оскільки Splync прагне бути найпростішим додатком для відстеження спільного бюджету, оновлення екрана повинно бути абсолютно без зусиль. Саме тому ми ввели потягни для оновлення у версії v1.10, роблячи Splync повністю оновлюваним.
Два способи, як Splync оновлює ваші дані (Повне завантаження / Оновлення вигляду)
На головному екрані — де ви бачите фото профілю, список друзів та список проектів — потягни для оновлення виконує повне завантаження. Воно знову отримує всі дані облікового запису, подібно до виходу з системи та повторного входу. Через це оновлення може зайняти близько секунди, поки відображається повідомлення про завантаження. На екрані проекту, де відображається список витрат, той же жест потягування викликає легше оновлення вигляду. Оновлюються лише дані, специфічні до проекту, такі як зміни категорій та оновлення витрат. Не потрібно чекати цілу секунду, щоб дізнатися, чи хтось додав нову витрату. Також зверніть увагу: Splync не завантажує автоматично дані проекту з сервера у фоновому режимі. Додаток перевіряє наявність оновлень лише тоді, коли ви вносите зміни, відкриваєте витрату для перегляду деталей або вручну оновлюєте сторінку проекту.
Чому не синхронізація в реальному часі
Дехто з користувачів може очікувати, що оновлення проекту з'являться миттєво, коли друг додає нову витрату. Синхронізація в реальному часі звучить зручно, але вона має важливі недоліки. Постійне фонове оновлення потребує більше батареї, більше мобільних даних та складнішого підключення до сервера, що може уповільнити роботу додатка для всіх. Підхід Splync за запитом зберігає досвід роботи легким і швидким, а також запобігає раптовим змінам на екрані, поки ви переглядаєте свій бюджет. Існують також питання безпеки. Підтримка постійного з'єднання з сервером збільшує вікно для несанкціонованого доступу і вимагає додаткової логіки аутентифікації, яка працює у фоновому режимі. Оновлюючи дані лише коли ви дієте, Splync мінімізує зайву мережеву активність і зберігає доступ до даних більш передбачуваним і контрольованим.
За кадром коду .refreshable
Спочатку я думав, що це оновлення буде простим. У Swift, мові, яка використовується для розробки iOS, ви можете увімкнути потягни для оновлення, просто додавши модифікатор .refreshable до ScrollView або List. Однак це не працювало так, як я очікував. Після вивчення проблеми я зрозумів корінну причину. Я хотів додати потягни для оновлення на весь верхній екран, який містить список друзів і список проектів. Але в оригінальному дизайні обидва ці компоненти також були прокручуваними. У результаті, .refreshable не знав, до якої області, що прокручується, він належить, і жест не визначався послідовно. Щоб вирішити це, я переробив список друзів і список проектів так, щоб вони більше не прокручувалися самостійно. Це безпечно, тому що верхній рівень вигляду сам прокручується, коли вміст перевищує висоту екрана. Як тільки я спростив структуру і переконався, що є лише один контейнер, що прокручується, .refreshable нарешті працював саме так, як очікувалося. Я також додав типову кнопку оновлення, щоб користувачі могли просто натиснути для оновлення.
Потяг не працює для вас? Потягніть ще трішки
У більшості додатків iOS потягни для оновлення не активується в момент, коли ви починаєте тягти. SwiftUI має вбудований поріг жесту: система чекає, поки ви потягнете на певну відстань, перш ніж викликати оновлення. Це запобігає випадковим оновленням, коли ви просто починаєте прокручувати з верхньої частини екрана. Splync дотримується цієї стандартної поведінки. Ви можете помітити, що коротке потягування не оновлює контент, але трохи довше потягування — достатнє, щоб з'явився індикатор оновлення — викличе оновлення. Такий дизайн зберігає взаємодії навмисними. Це запобігає небажаним оновленням, особливо на екранах, де користувачі часто прокручують довгі списки витрат або проектів. Як тільки ви трохи "перетягнете" верхню межу і з'явиться індикатор, оновлення почнеться, як тільки ви відпустите палець. Це невелика деталь, але вона сприяє більш плавному та передбачуваному досвіду. Щоб уточнити: справа не в тому, щоб тягти довше або застосовувати більше тиску. Важливо те, що ви тягнете на більшу відстань.
Мала функція, ретельно розроблена
Потягни для оновлення може виглядати як маленька взаємодія, але його побудова включала вибір дизайну, технічну реорганізацію і несподівано багато роздумів за лаштунками. Splync v1.10 робить оновлення ваших даних природним, навмисним і передбачуваним — саме так, як це має бути в найпростішому додатку для спільного бюджету. Сподіваюся, це оновлення надасть вам більш плавний досвід і покаже, скільки уваги приділяється кожній деталі. Дякуємо, що користуєтесь Splync.