앱은 종종 기기에 데이터를 로컬로 저장해야 합니다 — 사용자 환경설정, 캐시된 데이터, 오프라인 콘텐츠. Flutter는 여러 옵션을 제공합니다 — shared_preferences(키-값), SQLite(관계형) 등 — 각각 서로 다른 필요에 적합합니다.
로컬 저장소 옵션
SHARED_PREFERENCES → 단순한 키-값 저장 (설정, 플래그, 작은 데이터):
→ 원시 타입(문자열, 정수, 불리언) 저장 — 단순한 영속 map과 같음
→ 용도: 사용자 환경설정, 토큰, 단순 플래그 (큰/구조화된 데이터 아님)
SQLITE (sqflite) → 기기의 완전한 관계형 DATABASE:
→ 테이블, SQL 쿼리 — 구조화된 더 큰 데이터; 복잡한 쿼리; 관계용
HIVE / ISAR → 빠른 NoSQL 로컬 데이터베이스 (키-값/객체 저장소) — 인기, 빠름,
Dart 네이티브 (SQL 없음); 구조화된 로컬 데이터에 좋음
FILE 저장 → 파일을 직접 읽기/쓰기 (디렉터리는 path_provider)
SECURE 저장 → 민감한 데이터(토큰, 자격 증명)를 위한 flutter_secure_storage —
암호화 (keychain/keystore)
