본문 바로가기
WIKI 기술 지식 베이스

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 안내에 따르면:

  1. 다음 중 하나를 선택하세요:
  2. 자격 증명을 .env 파일에 채워 넣으세요.
  3. 예제를 실행하세요: 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)