Supabase в оффлайн
Как заставить работать Supabase в оффлайн (с помощью SQL lite)
https://community.FlutterFlow.io/libraries-showcase/post/now-available-powersync-library-for-offline-first-apps-EtpSK37IUPLCoVT
Мы создали библиотеку FlutterFlow , которая синхронизирует SQLite в приложении с Supabase, делая приложения FlutterFlow в первую очередь офлайн-приложениями ⚡
Приложения, работающие в автономном режиме, используют локальную базу данных и синхронизируются с
- сделать пользовательский интерфейс мгновенно реагирующим,
- потоковые обновления в режиме реального времени и
- сделать приложения доступными офлайн.
Что вы думаете об этом подходе по сравнению с использованием Firebase/Firestore? 🤔
Вероятно, есть место для обеих архитектур — наш подход был сосредоточен на обеспечении сквозного стека технологий с открытым исходным кодом (например, Postgres (на Supabase), PowerSync и SQLite).
Вариант 2
От @gotorain
https://t.me/flutterflow_rus/53670
-
Если нет интернета записываем в appstate сообщение, и генерируем уникальный идентификатор для этого сообщения для записи в отдельную колонку в супе
-
Цикл, если по индексу 0 в appstate условие is set or not empty истина, то выполняем следующие действия
-
Записываем это сообщение (0 индекс) Из appstate в супабейз (не забыв про уникальный ID сообщения).
-
Далее внутри цикла проверяем Action Output, который был получен в результате вставки новой строки в супу, параметр уникальный ID должен быть равен уникальному ID из 0 индекса AppState
-
Далее два действия.
А. Если равен (значит запись в appstate была успешна), то делаем remove from list at index 0 из appstate.
B. Если не равен (значит новая строка не вставлена), ничего не делаем. И цикл будет повторяться бесконечно, пока не произойдет успешной вставки.
Таким образом list сообщений из appstate будет уменьшаться, то тех пор, пока не окажется пустым и тогда цикл закончится
-+-+