firebase의 firestore를 이용해서 api를 생성하고자 한다.
firestore는 관계형 데이터베이스(RDMS)가 아닌 구글 클라우드 기반의 NoSQL 형식이다.
때문에 데이터 필드는 key-value 형태로 flutter에서는 map 형태이다.
또한, collection - document - collection 구조이다.
firestore 사용하기에 앞서, main 문에 몇가지 코드를 추가 했다.
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
FirebaseFirestore.instance.setting = const Settings(persistenceEnabled: true)
위 명령어는 Firebase Firestore 데이터베이스의 설정을 변경하는 코드로,
인스턴스의 지속성을 활성화 하는 것이다.
즉, 로컬에 데이터를 저장함으로써 오프라인에서도 앱의 데이터를 활용할 수 있게 하는 것으로 네트워크 연결이 불안정한 경우에도 앱의 성능과 사용자 경험을 향상시킬 수 있다.
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
FirebaseFirestore.instance.settings =
const Settings(persistenceEnabled: true);