Uživatelské nástroje

Nástroje pro tento web


firebase_sdk

Firebase SDK

Firebase SDK (Software Development Kit) je sada vývojářských nástrojů, knihoven a dokumentace, která umožňuje programátorům propojit jejich vlastní aplikace (webové, mobilní nebo desktopové) s cloudovými službami platformy Firebase. SDK funguje jako most, který zprostředkovává veškerou bezpečnou komunikaci mezi klientským zařízením (nebo vlastním serverem) a infrastrukturou Googlu.


Rozdělení Firebase SDK

Firebase nabízí dvě hlavní kategorie SDK, které se liší svým účelem, prostředím a úrovní oprávnění:

1. Klientské SDK (Client SDKs)

Tato SDK jsou určena pro nasazení přímo do koncových aplikací, které běží na zařízeních uživatelů (např. v prohlížeči nebo na mobilním telefonu). Důležitou vlastností je, že klientská SDK podléhají bezpečnostním pravidlům (Firebase Security Rules), aby koncový uživatel nemohl manipulovat s daty, ke kterým nemá oprávnění.

  • Web (JavaScript/TypeScript): Pro tvorbu front-endových webových aplikací.
  • Mobilní platformy: Nativní SDK pro vývojáře v Android (Java/Kotlin) a iOS (Swift/Objective-C).
  • Multiplatformní nástroje: Plná podpora pro frameworky jako Flutter, React Native nebo herní enginy Unity a C++.

2. Firebase Admin SDK

Tato varianta SDK je navržena výhradně pro použití v důvěryhodném serverovém prostředí (např. na vlastním backendu, virtuálním serveru nebo v rámci služeb jako Cloud Functions).

  • Admin SDK zcela obchází klientská bezpečnostní pravidla (Security Rules) a má administrátorský přístup ke všem datům a službám v daném Firebase projektu.
  • Využívá se primárně pro bezpečné operace na pozadí: hromadnou správu uživatelských účtů, spouštění pravidelných cron úloh, bezpečné ověřování tokenů třetích stran nebo pokročilou údržbu databází.
  • Oficiálně je dostupné pro backendové jazyky Node.js, Java, Python, Go a C#.

Moderní webové SDK (Modulární API)

Od verze Firebase 9 (představené v roce 2021) prošlo webové JavaScriptové SDK naprosto zásadní změnou architektury. Přešlo z monolitického objektového modelu na tzv. modulární přístup.

  • Dřívější přístup (v8 a starší): Vývojář do projektu importoval celý velký globální objekt firebase, i když kód reálně využíval jen zlomek dostupných funkcí (např. jen databázi). To zbytečně zvětšovalo datovou velikost aplikace.
  • Modulární přístup (v9 a novější): Nové SDK vyžaduje, aby se funkce importovaly jednotlivě přesně podle toho, co kód potřebuje. To umožňuje moderním build nástrojům (Webpack, Vite, Rollup) provádět proces zvaný Tree-shaking (odstranění nepoužitého kódu při kompilaci). Výsledkem je dramatické zmenšení velikosti výsledného JavaScriptu (bundle size) a mnohem rychlejší načítání samotného webu.

Ukázka instalace a použití (Web SDK)

Pro moderní použití ve webovém projektu, který využívá správce balíčků, se Firebase SDK instaluje přes NPM příkazem:

npm install firebase

Následně se v kódu naimportují pouze ty moduly a funkce, které jsou pro daný skript skutečně potřeba (ukázka nového modulárního přístupu):

// Import pouze funkce pro inicializaci aplikace
import { initializeApp } from "firebase/app";
 
// Import konkrétních modulárních funkcí pro práci s databází Firestore
import { getFirestore, doc, setDoc } from "firebase/firestore";
 
const firebaseConfig = {
  apiKey: "TVUJ_API_KLIC",
  authDomain: "tvoje-aplikace.firebaseapp.com",
  projectId: "tvoje-aplikace"
  // ... další údaje ...
};
 
// Inicializace
const app = initializeApp(firebaseConfig);
const db = getFirestore(app);
 
// Asynchronní zápis do databáze pomocí specificky importovaných funkcí
async function vytvorUzivatele() {
  await setDoc(doc(db, "uzivatele", "unikatni_id_123"), {
    jmeno: "Jan",
    prijmeni: "Novák",
    role: "editor"
  });
}

Odkazy a zdroje

firebase_sdk.txt · Poslední úprava: autor: admin