Catch up on everthing we announced at this year's Firebase Summit. Learn more

Cloud Firestore 라이트 웹 SDK

Firestore는 웹 클라이언트 간에 데이터를 동기화 상태로 유지하기 위한 우수한 확장 가능한 데이터베이스 솔루션입니다.

많은 앱에서 Firestore의 관리형 오프라인 지원이 특히 중요하므로 네트워크 대기 시간이나 인터넷 연결에 관계없이 작동하는 반응형 앱을 구축할 수 있습니다. 그러나 기능이 풍부한 SDK에는 크기 비용이 있습니다. Firebase는 기본적인 생성, 읽기, 업데이트 및 삭제 작업만 필요하고 관리형 오프라인 지원이 필요하지 않은 앱을 위해 무엇을 제공하나요?

솔루션: Firestore 라이트

Firestore Lite는 일반 웹 SDK 크기의 일부에서 단일 문서 가져오기, 쿼리 실행 및 문서 업데이트를 지원하는 가벼운 독립형 REST 전용 Firestore SDK입니다. Firestore Lite는 대기 시간 보상, 오프라인 캐싱, 쿼리 재개 및 스냅샷 리스너를 생략하지만 특정 사용 사례의 경우 라이브러리 크기와 시작 시간의 감소는 큰 절충안을 만듭니다.

Firestore 라이트 가져오기

경우 FireStore Lite는의 일환으로 고궁 박물원를 통해 사용할 수 있습니다 모듈 SDK . 따라서 완전히 모듈화되고 나무를 흔들 수 있습니다.

다음 가져오기 스타일이 지원됩니다.

import { initializeApp } from "firebase/app";
import {
   getFirestore,
   enableIndexedDbPersistence,
   getDoc,
   updateDoc
} from 'firebase/firestore/lite';

Firestore Lite에서 지원하지 않는 API 기능

크기와 속도를 위해 Firestore Lite는 표준 Firestore SDK에서 다음 기능을 생략합니다.

  • DocumentSnapshot 이벤트 핸들러. onSnapshot 방법 DocumentChange , SnapshotListenerOptions , SnapshotMetadata , SnapshotOptionsUnsubscribe 오브젝트가 포함되지 않는다.
  • 지속성 도우미. enableIndexedDBPersistence , enableMultiTabIndexedDbPersistenceclearIndexedDbPersistence 방법은 포함되지 않습니다.
  • 경우 FireStore 번들입니다. loadBundle 방법 및 관련 방법 및 LoadBundleTaskLoadBundleTaskProgress 객체는 포함되지 않는다.

문서 가져오기, 쿼리 및 업데이트 구현

Firestore Lite를 가져온 후에는 친숙한 모든 API 가져오기 및 업데이트 호출을 수행할 수 있습니다. 에 대한 사용 사례 데이터를 추가 하고 데이터를 받고 모두 적용됩니다.

import {
 getFirestore,
 getDoc,
 updateDoc,
 doc
} from '@firebase/firestore/lite';

const firestore = getFirestore(app);
const docRef = doc(firestore, 'collection/doc');
const docSnap = await getDoc(docRef);
await updateDoc(docRef, "field", 'value');

Firestore Lite를 사용해야 하는 경우

표준 Firestore SDK의 오프라인 지속성 및 캐싱 기능을 언제 포기할지 결정하는 것은 까다로울 수 있습니다. Firestore Lite의 낮은 오버헤드와 교환하기로 결정하기 전에 이러한 기능을 이해해야 합니다. 일반적으로 Firestore Lite 사용 여부를 결정할 때 다음 요소를 고려하십시오.

  • 온라인 상태 - 경우 FireStore 라이트 그렇지 라이브 업데이트를 필요로하고 연결이 응용 프로그램에 적합합니다.
  • 크기 제한 - 당신이 당신의 전체 자바 스크립트 번들 크기를 줄이려면 경우 FireStore 라이트가 중대하다.