Clouddatabaser og funktioner
Arbejd med realtidsdatabaser (f.eks. Firestore), og implementér serverløse cloudfunktioner til tilpasset backendlogik.
Clouddatabaser og funktioner er en gratis Mobilapps for indieudviklere-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Mobilapps for indieudviklere, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Mobilapps for indieudviklere-kurset indeholder 4 lektioner i alt.
Clouddatabaser afsløret
Velkommen! I dag undersøger vi clouddatabaser og serverløse funktioner, som er vigtige værktøjer til skalerbare mobilapps. De tilbyder robuste, administrerede backends uden besværet med servervedligeholdelse.
Vi fokuserer på Firestore, et populært valg til data i realtid, og Cloud Functions til tilpasset backendlogik.
Firestores datamodel
Cloud Firestore er en fleksibel og skalerbar NoSQL-dokumentdatabase. I modsætning til traditionelle relationsdatabaser med tabeller og rækker organiserer Firestore data i samlinger og dokumenter.
Hvert dokument indeholder nøgleværdipar, som kaldes felter. Dokumenter ligger i samlinger, og samlinger kan endda indeholde undersamlinger.
Strukturering af dine appdata
Det er vigtigt at forstå samlinger og dokumenter for at strukturere din apps data effektivt. Forestil dig en simpel e-handelsapp:
users(samling)user_alice_id(dokument)name: "Alice"email: "alice@example.com"products(samling)product_xyz_id(dokument)name: "Cool Gadget"price: 99.99
Nem tilføjelse af data
Det er enkelt at tilføje data til Firestore. Du kan bruge add() til at lade Firestore generere et unikt dokument-ID eller set() til at angive dit eget ID eller overskrive et eksisterende dokument.
Sådan tilføjer du en ny bruger til samlingen 'users':
db.collection("users").add({
name: "Bob",
email: "bob@example.com",
status: "active"
})
.then((docRef) => {
console.log("Document written with ID: ", docRef.id);
})
.catch((error) => {
console.error("Error adding document: ", error);
});Hent data efter behov
Hvis du vil hente et dokument eller en samling af dokumenter én gang, bruger du metoden get(). Det er nyttigt til data, der ikke kræver konstante opdateringer i realtid.
Lad os hente en bestemt brugers data ved hjælp af brugerens dokument-ID:
db.collection("users").doc("bob_doc_id").get()
.then((doc) => {
if (doc.exists) {
console.log("Document data:", doc.data());
} else {
console.log("No such document!");
}
})
.catch((error) => {
console.error("Error getting document:", error);
});Hold data opdaterede med snapshots
Firestores funktioner i realtid er stærke. Ved at bruge onSnapshot() kan du lytte efter ændringer i dokumenter eller samlinger. Når data ændres i backend, modtager din app øjeblikkelige opdateringer.
Dette kodestykke viser, hvordan du lytter efter ændringer i realtid i et enkelt dokument:
db.collection("products").doc("prod_xyz").onSnapshot((doc) => {
if (doc.exists) {
console.log("Current product data:", doc.data());
} else {
console.log("Product removed or never existed!");
}
});
// This listener keeps your app updated automaticallyServerløs logik med funktioner
Cloud Functions er serverløse kodestykker, der kører som reaktion på bestemte hændelser. De lader dig udføre tilpasset backendlogik uden at skulle administrere eller klargøre servere.
De er perfekte til at udvide din BaaS (f.eks. Firebase) med tilpassede funktioner, sikkerhedsregler eller integrationer.
Hvad får en funktion til at køre?
Cloud Functions er 'hændelsesdrevne', hvilket betyder, at de kun kører, når en bestemt hændelse opstår. Disse hændelser kaldes udløsere. Almindelige typer omfatter:
- HTTP-udløsere: Til oprettelse af API-endepunkter.
- Firestore-udløsere: Reagerer på oprettelse, opdatering eller sletning af dokumenter.
- Godkendelsesudløsere: Reagerer på brugerregistreringer eller -sletninger.
- Planlagte udløsere: Kører funktioner på bestemte tidspunkter (f.eks. daglig oprydning).
Din første HTTP Cloud Function
Lad os oprette en simpel Cloud Function, der svarer på en HTTP-anmodning. Det svarer til at bygge et lille, serverløst API-endepunkt. Det er en god måde at håndtere tilpasset logik, som din mobilapp kan få brug for.
Dette eksempel returnerer en grundlæggende meddelelse: "Hello from Firebase!".
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.helloHttp = functions.https.onRequest((request, response) => {
// Set CORS headers for web access, if needed
response.set('Access-Control-Allow-Origin', '*');
response.set('Access-Control-Allow-Methods', 'GET, POST');
response.status(200).send("Hello from Firebase!");
});Automatisering med funktioner og database
Cloud Functions og Firestore er en stærk kombination. Funktioner kan automatisk reagere på ændringer i din Firestore-database, så du kan:
- Opdatere aggregerede optællinger (f.eks. det samlede antal likes på et opslag).
- Udføre datavalidering eller -rensning.
- Sende meddelelser eller e-mails efter en brugerhandling.
Det holder din apps logik robust og effektiv og håndterer backendopgaver problemfrit.
Kontrol af cloudlogik
Test din forståelse af clouddatabaser og serverløse funktioner.
Opsummering af databaser og funktioner
Du har undersøgt de centrale begreber i Cloud Firestore til skalerbar datalagring i realtid ved hjælp af en fleksibel NoSQL-dokumentmodel. Du har også lært om Cloud Functions, som gør det muligt at implementere serverløs backendlogik som reaktion på forskellige udløsere.
Det er grundlæggende at beherske disse værktøjer for at bygge dynamiske, robuste og effektive indie-mobilapps!
Lær Mobilapps for indieudviklere med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Clouddatabaser og funktioner” gratis?
Ja — hele teksten til “Clouddatabaser og funktioner” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Mobilapps for indieudviklere-kurset, skal du opgradere til CoddyKit PRO. Mobilapps for indieudviklere-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Clouddatabaser og funktioner”?
Arbejd med realtidsdatabaser (f.eks. Firestore), og implementér serverløse cloudfunktioner til tilpasset backendlogik. Du øver dig i Mobilapps for indieudviklere med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Mobilapps for indieudviklere?
Der kræves ingen tidligere erfaring. Mobilapps for indieudviklere på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Clouddatabaser og funktioner”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Mobilapps for indieudviklere-lektion?
Ja. Alle Mobilapps for indieudviklere-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Introduktion til BaaS-platforme
- Brugergodkendelse og sikkerhed
- Clouddatabaser og funktioner
- Realtidsdata og pushnotifikationer med BaaS