Molndatabaser och funktioner
Arbeta med realtidsdatabaser (t.ex. Firestore) och distribuera serverlösa molnfunktioner för anpassad backendlogik.
Molndatabaser och funktioner är en gratis lektion i Mobilappar för indiehackare på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Mobilappar för indiehackare, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Mobilappar för indiehackare innehåller totalt 4 lektioner.
Molndatabaser avslöjade
Välkommen! I dag utforskar vi molndatabaser och serverlösa funktioner – viktiga verktyg för skalbara mobilappar. De tillhandahåller robusta, hanterade backendmiljöer utan besväret med serverunderhåll.
Vi fokuserar på Firestore, ett populärt alternativ för realtidsdata, och Cloud Functions för anpassad backendlogik.
Firestores datamodell
Cloud Firestore är en flexibel och skalbar NoSQL-dokumentdatabas. Till skillnad från traditionella relationsdatabaser med tabeller och rader organiserar Firestore data i samlingar och dokument.
Varje dokument innehåller nyckel-värde-par som kallas fält. Dokument finns i samlingar, och samlingar kan även innehålla undersamlingar.
Strukturera appens data
Att förstå samlingar och dokument är viktigt för att strukturera appens data effektivt. Föreställ dig en enkel 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
Lägg enkelt till data
Det är enkelt att lägga till data i Firestore. Du kan använda add() för att låta Firestore skapa ett unikt dokument-ID, eller set() för att ange ett eget ID eller skriva över ett befintligt dokument.
Så här lägger du till en ny användare i 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);
});Hämta data vid behov
Om du vill hämta ett dokument eller en samling dokument en gång använder du metoden get(). Det är användbart för data som inte kräver ständiga uppdateringar i realtid.
Så här hämtar du en specifik användares data med hjälp av dokumentets 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);
});Håll data uppdaterade med snapshots
Firestores realtidsfunktioner är kraftfulla. Med onSnapshot() kan du lyssna efter ändringar i dokument eller samlingar. När data ändras i backendmiljön får appen omedelbara uppdateringar.
Det här kodexemplet visar hur du lyssnar efter ändringar i realtid i ett enskilt 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 är serverlösa koddelar som körs som svar på specifika händelser. De låter dig köra anpassad backendlogik utan att behöva hantera eller tillhandahålla några servrar.
De passar perfekt för att utöka din BaaS (som Firebase) med anpassade funktioner, säkerhetsregler eller integrationer.
Vad får en funktion att köras?
Cloud Functions är händelsestyrda, vilket innebär att de endast körs när en specifik händelse inträffar. Dessa händelser kallas triggers. Vanliga typer är:
- HTTP-triggers: För att skapa API-endpoints.
- Firestore-triggers: Reagerar på att dokument skapas, uppdateras eller tas bort.
- Autentiserings-triggers: Reagerar på att användare registrerar sig eller tas bort.
- Schemalagda triggers: Kör funktioner vid specifika tidpunkter (till exempel daglig rensning).
Din första HTTP Cloud Function
Nu skapar vi en enkel Cloud Function som svarar på en HTTP-förfrågan. Det liknar att bygga en liten, serverlös API-endpoint. Det är ett bra sätt att hantera anpassad logik som mobilappen kan behöva.
Det här exemplet returnerar meddelandet "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!");
});Automatisera med funktioner och databas
Cloud Functions och Firestore är en kraftfull kombination. Funktioner kan automatiskt reagera på ändringar i Firestore-databasen, vilket gör att du kan:
- Uppdatera aggregerade räkningar (till exempel totalt antal gilla-markeringar på ett inlägg).
- Validera eller sanera data.
- Skicka aviseringar eller e-post efter en användaråtgärd.
Det håller appens logik robust och effektiv genom att backenduppgifter hanteras smidigt.
Testa din molnlogik
Testa dina kunskaper om molndatabaser och serverlösa funktioner.
Sammanfattning av databaser och funktioner
Du har utforskat grundkoncepten i Cloud Firestore för skalbar datalagring i realtid med en flexibel NoSQL-dokumentmodell. Du har också lärt dig om Cloud Functions, som gör det möjligt att distribuera serverlös backendlogik som svar på olika triggers.
Att behärska dessa verktyg är grundläggande för att bygga dynamiska, robusta och effektiva fristående mobilappar!
Lär dig Mobilappar för indiehackare med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Molndatabaser och funktioner” gratis?
Ja – hela texten till ”Molndatabaser och funktioner” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Mobilappar för indiehackare, kan Ni uppgradera till CoddyKit PRO. Kursen i Mobilappar för indiehackare innehåller totalt 4 lektioner.
Vad lär jag mig i ”Molndatabaser och funktioner”?
Arbeta med realtidsdatabaser (t.ex. Firestore) och distribuera serverlösa molnfunktioner för anpassad backendlogik. Ni övar på Mobilappar för indiehackare med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Mobilappar för indiehackare?
Du behöver inga förkunskaper. Utbildningen i Mobilappar för indiehackare på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Molndatabaser och funktioner”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Mobilappar för indiehackare-lektionen?
Ja. Varje Mobilappar för indiehackare-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Introduktion till BaaS-plattformar
- Användarautentisering och säkerhet
- Molndatabaser och funktioner
- Data i realtid och pushnotiser med BaaS