Firestore, verileri web istemcileri arasında senkronize etmek için iyi bir ölçeklenebilir veritabanı çözümüdür.
Birçok uygulama için Firestore'un yönetilen çevrimdışı desteği özellikle önemlidir. Böylece, ağ gecikmesinden veya internet bağlantısından bağımsız olarak çalışan duyarlı uygulamalar geliştirebilirsiniz. Ancak zengin özelliklere sahip SDK'ların belirli bir maliyeti vardır. Firebase yalnızca temel oluşturma, okuma, güncelleme ve silme işlemlerini kullanması gereken ve yönetilen çevrimdışı desteğe ihtiyacı olmayan uygulamalar için ne sunar?
Çözüm: Firestore Lite
Firestore Lite, normal Web SDK'sı boyutundan küçük bir parçayla tek belge getirme, sorgu yürütme ve belge güncellemelerini destekleyen hafif ve bağımsız bir REST SDK'sıdır. Firestore Lite gecikme dengelemesi, çevrimdışı önbelleğe alma, sorgu devam ettirme ve anlık görüntü dinleyicileri içermez ancak belirli kullanım alanlarında kitaplık boyutu ve başlatma süresindeki düşüş önemli bir denge sağlar.
Firestore Lite'ı içe aktar
Firestore Lite, modüler SDK'nın bir parçası olarak npm aracılığıyla kullanılabilir. Bu sayede tamamen modüler ve ağaçlara sarılabilir.
Aşağıdaki içe aktarma stili desteklenir.
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
Firestore Lite tarafından desteklenmeyen API özellikleri
Firestore Lite, boyut ve hız için aşağıdaki özellikleri standart Firestore SDK'sından çıkarır:
- DocumentSnapshot etkinlik işleyicileri
onSnapshot
yöntemi ileDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
veUnsubscribe
nesneleri dahil edilmez. - Kalıcı yardımcılar.
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
veclearIndexedDbPersistence
yöntemleri dahil edilmez. - Firestore paketleri.
loadBundle
yöntemi ve ilgili yöntemler ileLoadBundleTask
veLoadBundleTaskProgress
nesneleri buna dahil değildir.
Belge getirme, sorgu ve güncelleme uygulama
Firestore Lite'ı içe aktardıktan sonra, bildiğiniz tüm API'leri alabilir ve güncelleyebilirsiniz. Veri ekleme ve veri alma kullanım alanlarının tümü geçerlidir.
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 ne zaman kullanılır?
Standart Firestore SDK'sının çevrimdışı kalıcılık ve önbelleğe alma özelliklerini ne zaman bırakacağınıza karar vermek zor olabilir. Bu özellikleri, Firestore Lite'ın daha düşük ek yükü karşılığında kullanmaya karar vermeden önce anlamanız gerekir. Genel olarak Firestore Lite'ı kullanıp kullanmayacağınıza karar verirken aşağıdaki unsurları göz önünde bulundurun:
- Online durum: Firestore Lite, canlı güncellemelere ihtiyaç duymayan ve bağlantısı olan uygulamalar için uygundur.
- Boyut kısıtlamaları - Genel JavaScript paketinizin boyutunu küçültmek istiyorsanız Firestore Lite idealdir.