작동 방식
실시간 동기화가 있는 앱은 기기에 로컬 데이터베이스를 유지합니다. 읽기는 즉시(로컬), 쓰기는 로컬에서 대기열에 들어가고, 모든 것이 백그라운드에서 서버로 동기화됩니다.AI가 설정하는 것
AI에게 실시간 앱을 만들도록 요청하세요. 적합한 활성 데이터베이스가 있으면 재사용하고, 없으면 데이터베이스를 생성하고 동기화 서비스를 켜고 두 부분으로 된 앱을 만듭니다:- UI - 로컬 데이터베이스, 라이브 쿼리, 동기화 커넥터가 있는 클라이언트 앱
- Process - 토큰 엔드포인트, 동기화 업로드 경로, 마이그레이션 러너
db 도구로 데이터베이스 환경 변수를 프로세스 컴포넌트에 연결합니다.
앱이 준비된 것으로 간주되기 전에 데이터베이스는 sync: ready를 표시해야 합니다. 동기화가 준비되지 않으면 앱이 렌더링될 수 있지만 기기 간 실시간 데이터는 작동하지 않습니다.
기본 규칙
- 먼저 로컬에 쓰세요. 백그라운드에서 동기화 업로드를 하도록 하세요.
- 로컬 데이터가 있으면 로딩 스피너가 아닌 빈 상태를 표시하세요.
- 사용자가 볼 수 있는 상태를 동기화된 테이블에 유지하여 새로고침과 오프라인 사용에서 유지되도록 하세요.
- 관련된 로컬 쓰기를 함께 그룹화하여 UI가 한 단계로 업데이트되도록 하세요.
- 실시간 앱을 완료된 것으로 간주하기 전에 동기화 상태를 확인하세요.
오프라인 앱 셸
UI 템플릿은 첫 방문 후 네트워크 없이 앱을 다시 열 수 있도록 오프라인 앱 셸을 포함할 수 있습니다. 앱 셸은 정적 HTML, JS, CSS, 아이콘입니다.- 오프라인 셸은 네트워크 없이 앱을 열 수 있게 합니다
- 동기화는 오프라인 상태에서 앱 데이터를 사용 가능하게 유지합니다
실시간 동기화를 사용할 때
| 적합함 | 과도함 |
|---|---|
| 작업 관리자 및 노트 앱 | 정적 마케팅 페이지 |
| 협업 도구 | 일회성 양식 제출 |
| 약한 연결성이 있는 필드 앱 | 읽기 전용 브로셔 사이트 |
| 즉시 느껴져야 하는 모든 것 | 오프라인 가치가 없는 앱 |
플랫폼 변수
Kazzle은 모든 앱 프로세스에 자동으로 작은 환경 변수 집합을 주입합니다. 이는 자신의 vault 시크릿과 별개입니다.| 변수 | 설명 |
|---|---|
PORT | 프로세스가 수신해야 하는 포트 |
HOST | 바인드할 호스트명(일반적으로 0.0.0.0) |
KAZZLE_API_URL | Kazzle 런타임 헬퍼가 사용하는 기본 URL |
KAZZLE_APP_COMPONENT_<NAME>_URL | 형제 컴포넌트의 런타임 URL |
형제 URL
앱에 여러 컴포넌트(예:web UI 및 server 프로세스)가 있을 때, Kazzle은 형제 컴포넌트의 URL을 주입할 수 있습니다: