Firestore, web istemcileri arasında verileri senkronize tutmak için ölçeklenebilir bir veritabanı çözümüdür.
Firestore'un yönetilen çevrimdışı desteği, birçok uygulama için özellikle önemlidir. Bu destek sayesinde ağ gecikmesi veya internet bağlantısından bağımsız olarak çalışan duyarlı uygulamalar oluşturabilirsiniz. Ancak özellik açısından zengin SDK'ların boyut maliyeti vardır. Yalnızca temel oluşturma, okuma, güncelleme ve silme işlemlerini kullanması gereken ve yönetilen çevrimdışı desteğe ihtiyaç duymayan uygulamalar için Firebase ne sunuyor?
Çözüm: Firestore Lite
Firestore Lite, tek belge getirme, sorgu yürütme ve belge güncelleme işlemlerini destekleyen, normal web SDK'sının boyutunun çok küçük bir kısmını kaplayan hafif ve bağımsız bir REST tabanlı Firestore SDK'sıdır. Firestore Lite, gecikme telafisi, çevrimdışı önbelleğe alma, sorgu devam ettirme ve anlık görüntü dinleyicilerini atlar ancak belirli kullanım alanları için kitaplık boyutunda ve başlatma süresinde yapılan azaltmalar büyük bir avantaj sağlar.
Firestore Lite'ı içe aktarma
Firestore Lite, modüler SDK'nın bir parçası olarak npm üzerinden kullanılabilir. Bu nedenle tamamen modülerdir ve ağaç sallanabilir.
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 nedeniyle standart Firestore SDK'sındaki şu özellikleri atlar:
- DocumentSnapshot etkinlik işleyicileri.
onSnapshot
yöntemi veDocumentChange
,SnapshotListenerOptions
,SnapshotMetadata
,SnapshotOptions
veUnsubscribe
nesneleri dahil değildir. - Kalıcılık yardımcıları.
enableIndexedDBPersistence
,enableMultiTabIndexedDbPersistence
veclearIndexedDbPersistence
yöntemleri dahil değildir. - Firestore paketleri.
loadBundle
yöntemi ve ilgili yöntemler ileLoadBundleTask
veLoadBundleTaskProgress
nesneleri dahil edilmez.
Belge getirme, sorgu ve güncelleme işlemleri uygulama
Firestore Lite'ı içe aktardıktan sonra, aşina olduğunuz tüm API get ve update çağrılarını yapabilirsiniz. Veri ekleme ve veri alma ile ilgili tüm kullanım alanları 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ı ve önbelleğe alma özelliklerini ne zaman kullanmayı bırakacağınıza karar vermek zor olabilir. Firestore Lite'ın daha düşük maliyeti için bu özellikleri kullanmamaya karar vermeden önce bu özellikleri anlamanız gerekir. Genel olarak, Firestore Lite'ı kullanıp kullanmayacağınıza karar verirken aşağıdaki faktörleri göz önünde bulundurun:
- Online durum: Firestore Lite, canlı güncellemelere ihtiyaç duymayan ve bağlantısı olan uygulamalar için idealdir.
- Boyut kısıtlamaları: Firestore Lite, genel JavaScript paketi boyutunuzu küçültmek istiyorsanız mükemmel bir seçimdir.