Перейти до основного вмісту

Як це працює

Додатки із синхронізацією в реальному часі зберігають локальну базу даних на пристрої. Читання відбувається миттєво (локально), запис ставиться в чергу локально, а все синхронізується з сервером у фоні.
Запис користувача -> Локальна база даних -> Черга завантаження -> Сервер -> Postgres
                                                                              |
Читання користувача <- Локальна база даних <- Синхронізація реплікації <-----+
Результат: миттєве читання, без спінерів завантаження та додаток, який працює при поганому з’єднанні або офлайну.

Що налаштовує ШІ

Попросіть ШІ створити додаток із синхронізацією в реальному часі. Він повторно використовує відповідну активну базу даних, якщо вона існує; інакше створює базу даних, вмикає сервіс синхронізації та будує двочастинний додаток:
  • UI - клієнтський додаток із локальною базою даних, живими запитами та коннектором синхронізації
  • Process - кінцева точка токена, маршрут завантаження синхронізації та засіб запуску міграцій
Облікові дані зберігаються у сховищі. ШІ підключає змінні середовища бази даних до компонента процесу за допомогою інструменту db. Перш ніж додаток вважатиметься готовим, база даних повинна показувати sync: ready. Якщо синхронізація не готова, додаток може відобразитися, але синхронізація даних у реальному часі між пристроями не працюватиме.

Практичні правила

  • Записуйте локально спочатку. Дозвольте синхронізації завантажувати у фоні.
  • Показуйте порожні стани, а не спінери завантаження, коли локальні дані існують.
  • Зберігайте видимий користувачеві стан у синхронізованих таблицях, щоб він зберігся при оновленні та офлайн-використанні.
  • Групуйте пов’язані локальні записи разом, щоб UI оновлювався як один крок.
  • Перевірте здоров’я синхронізації перед завершенням роботи над додатком із синхронізацією в реальному часі.

Оболонка офлайн-додатка

Шаблони UI можуть включати оболонку офлайн-додатка, щоб додаток міг повторно відкритися після першого відвідування без мережі. Оболонка додатка — це статичні HTML, JS, CSS та іконки.
  • Офлайн-оболонка дозволяє додатку відкритися без мережі
  • Синхронізація зберігає дані додатка придатними для використання офлайну
Разом: додаток відкривається без мережі, показує останні синхронізовані дані, ставить нові записи в чергу та синхронізується, коли з’єднання повертається.

Коли використовувати синхронізацію в реальному часі

Добре підходитьНадмірно
Менеджери завдань та додатки для нотатокСтатичні маркетингові сторінки
Інструменти для співпраціОдноразові відправлення форм
Польові додатки зі слабким з’єднаннямСайти з інформацією лише для читання
Все, що повинно відчуватися миттєвоДодатки без офлайн-цінності

Змінні платформи

Kazzle автоматично вводить невеликий набір змінних середовища в кожен процес додатка. Вони відокремлені від ваших власних секретів сховища.
ЗміннаЩо це таке
PORTПорт, на якому повинен слухати ваш процес
HOSTІм’я хоста для прив’язки (зазвичай 0.0.0.0)
KAZZLE_API_URLБазова URL, яку використовують помічники Kazzle runtime
KAZZLE_APP_COMPONENT_<NAME>_URLRuntime URL компонента-сусіда

URL компонентів-сусідів

Коли додаток має кілька компонентів (наприклад, UI web та процес server), Kazzle може вводити URL для компонентів-сусідів:
# У частині "web":
KAZZLE_APP_COMPONENT_SERVER_URL=http://localhost:3001

# У частині "server":
KAZZLE_APP_COMPONENT_WEB_URL=http://localhost:3000
Коли сусід уже розгорнутий, введене значення вказує на цей розгорнутий компонент. Інакше воно вказує на поточну адресу розробки для цього сусіда.