Przejdź do głównej treści

Jak to działa

Aplikacje z synchronizacją w czasie rzeczywistym przechowują lokalną bazę danych na urządzeniu. Odczyty są natychmiastowe (lokalne), zapisy są kolejkowane lokalnie, a wszystko synchronizuje się z serwerem w tle.
Zapis użytkownika -> Lokalna baza danych -> Kolejka przesyłania -> Serwer -> Postgres
                                                                              |
Odczyt użytkownika <- Lokalna baza danych <- Replikacja synchronizacji <----+
Rezultat: natychmiastowe odczyty, brak spinnerów ładowania i aplikacja, która działa nawet przy słabych połączeniach lub offline.

Co AI konfiguruje

Poproś AI, aby zbudowała aplikację w czasie rzeczywistym. Ponownie wykorzystuje odpowiednią aktywną bazę danych, jeśli istnieje; w przeciwnym razie tworzy bazę danych, włącza usługę synchronizacji i buduje aplikację dwuczęściową:
  • UI - aplikacja kliencka z lokalną bazą danych, zapytaniami na żywo i łącznikiem synchronizacji
  • Process - punkt końcowy tokena, trasa przesyłania synchronizacji i runner migracji
Poświadczenia są przechowywane w vault. AI podłącza zmienne środowiskowe bazy danych do komponentu procesu za pomocą narzędzia db. Zanim aplikacja będzie uważana za gotową, baza danych musi wyświetlać sync: ready. Jeśli synchronizacja nie jest gotowa, aplikacja może się renderować, ale dane w czasie rzeczywistym na wielu urządzeniach nie będą działać.

Zasady praktyczne

  • Zapisuj lokalnie w pierwszej kolejności. Pozwól synchronizacji przesyłać w tle.
  • Pokaż puste stany, a nie spinnery ładowania, gdy istnieją dane lokalne.
  • Przechowuj widoczny dla użytkownika stan w zsynchronizowanych tabelach, aby przetrwał odświeżenia i użycie offline.
  • Grupuj powiązane lokalne zapisy razem, aby interfejs użytkownika aktualizował się w jednym kroku.
  • Sprawdź kondycję synchronizacji przed ukończeniem aplikacji w czasie rzeczywistym.

Powłoka aplikacji offline

Szablony UI mogą zawierać powłokę aplikacji offline, aby aplikacja mogła się ponownie otworzyć po pierwszej wizycie bez sieci. Powłoka aplikacji to statyczne HTML, JS, CSS i ikony.
  • Powłoka offline umożliwia otwarcie aplikacji bez sieci
  • Synchronizacja utrzymuje dane aplikacji użyteczne w trybie offline
Razem: aplikacja otwiera się bez sieci, pokazuje najnowsze zsynchronizowane dane, kolejkuje nowe zapisy i synchronizuje się, gdy połączenie powraca.

Kiedy używać synchronizacji w czasie rzeczywistym

Dobre zastosowaniePrzesada
Menedżery zadań i aplikacje notatekStatyczne strony marketingowe
Narzędzia współpracyJednorazowe przesyłanie formularzy
Aplikacje terenowe ze słabą łącznościąWitryny broszur tylko do odczytu
Wszystko, co powinno być natychmiastoweAplikacje bez wartości offline

Zmienne platformy

Kazzle automatycznie wstrzykuje mały zestaw zmiennych środowiskowych do każdego procesu aplikacji. Są one oddzielone od twoich własnych sekretów vault.
ZmiennaCo to jest
PORTPort, na którym powinien nasłuchiwać twój proces
HOSTNazwa hosta do powiązania (zwykle 0.0.0.0)
KAZZLE_API_URLPodstawowy adres URL używany przez pomocników runtime Kazzle
KAZZLE_APP_COMPONENT_<NAME>_URLAdres URL runtime komponentu równorzędnego

Adresy URL komponentów równorzędnych

Gdy aplikacja ma wiele komponentów (np. interfejs użytkownika web i proces server), Kazzle może wstrzykiwać adresy URL dla komponentów równorzędnych:
# W części "web":
KAZZLE_APP_COMPONENT_SERVER_URL=http://localhost:3001

# W części "server":
KAZZLE_APP_COMPONENT_WEB_URL=http://localhost:3000
Gdy komponent równorzędny jest już wdrożony, wstrzyknięta wartość wskazuje na ten wdrożony komponent. W przeciwnym razie wskazuje na bieżący adres programistyczny dla tego komponentu równorzędnego.