Turso 예제
Turso 예제 (Flutter / Dart)
Flutter / Dart용 Turso(libsql_dart) 예제 모음이에요. 공식 문서의 이 페이지는 libsql_dart 저장소의 example 디렉터리로 안내해요.
출처: 문서
본문
공식 문서의 이 페이지는 실제 예제 코드가 있는 libsql_dart 저장소로 리다이렉트돼요. 저장소의 example 디렉터리는 Flutter 앱 형태의 완전한 예제 프로젝트로, 여러 클라이언트 모드를 한 앱에서 체험할 수 있게 구성되어 있어요.
예제 프로젝트 구성
example 디렉터리에는 다음과 같은 내용이 있어요:
lib/main.dart— 앱의 진입점. 인메모리, 로컬 파일, 원격, 레플리카, 오프라인 모드의LibsqlClient를 모두 생성해요.lib/features/task/— 할 일(task) 목록 UI와TaskRepository추상화가 있어요.lib/infra/libsql_task_repository.dart— libSQL 기반 저장소 구현이에요.docker-compose.yaml— 로컬 libSQL 인스턴스를 띄우는 구성이에요..env— 데이터베이스 자격 증명을 채워 넣는 파일이에요.
실행 방법
저장소의 example/README.md 안내에 따르면:
- 다음 중 하나를 선택하세요:
- 원격 Turso 데이터베이스 만들기
- 로컬 Turso 데이터베이스 실행 — https://docs.turso.tech/local-development#turso-cli
- 제공된
docker-compose.yaml로 로컬 libSQL 인스턴스 실행
- 자격 증명을
.env파일에 채워 넣으세요. - 예제를 실행하세요:
flutter run --debug --dart-define-from-file=.env
핵심 클라이언트 모드
lib/main.dart에서는 다섯 가지 클라이언트 모드를 초기화해요:
LibsqlClient.memory()— 인메모리 데이터베이스LibsqlClient.local("${dir.path}/local.db")— 로컬 파일LibsqlClient.remote(url, authToken: token)— 원격 데이터베이스LibsqlClient.replica(...)— 주기적 동기화(syncIntervalSeconds)와readYourWrites가 붙은 레플리카LibsqlClient.offline(...)— 오프라인 우선 클라이언트
각 모드는 앱 화면의 버튼(“Memory”, “Local”, “Remote”, “Replica”, “Offline”)으로 선택해서 할 일 목록 앱을 구동해 볼 수 있어요. 실제 코드는 저장소에서 직접 확인하세요.
더 알아보기 (Learn more)
예제 코드 전체는 libsql_dart 저장소에서 확인하세요: https://github.com/dikatok/libsql_dart/tree/main/example (공식 문서 안내 페이지: https://docs.turso.tech/sdk/flutter/examples)