Hlavní body
Firebase je platforma Backend-as-a-Service (BaaS), která poskytuje hotové nástroje pro vývoj aplikací. Firebase osvobozuje vývojáře od nutnosti budovat serverovou infrastrukturu od nuly — analytika, databáze, autentizace, push notifikace a mnoho dalšího je okamžitě k dispozici přes SDK.
Google koupil Firebase v roce 2014 za 100 milionů dolarů a integroval jej s Google Cloud Platform. Firebase nabízí více než 20 produktů, které lze kombinovat podle potřeb projektu. Většina služeb má štědrý bezplatný limit (Spark Plan) a pro růst je k dispozici platební plán podle použití (Blaze Plan).
Integrace Firebase začíná vytvořením projektu v Firebase Console a přidáním konfiguračního souboru (GoogleService-Info.plist pro iOS, google-services.json pro Android). Firebase podporuje iOS, Android, Flutter, React Native, Unity a webové aplikace, což z něj činí univerzální řešení pro jakoukoli platformu.
Firebase Analytics je bezplatný analytický nástroj, který shromažďuje data o chování uživatelů. Firebase Analytics je jádrem celé platformy — analytická data jsou používána všemi ostatními službami Firebase pro cílení a personalizaci.
Firebase Crashlytics je nejoblíbenější nástroj pro sledování pádů aplikací. Crashlytics automaticky sbírá stack trace, protokoly a data zařízení při každém pádu aplikace. Zprávy jsou seskupeny podle typu chyby, což umožňuje rychle identifikovat nejkritičtější problémy.
Crashlytics podporuje vlastní protokoly, klíče a nefatální výjimky. Nefatální výjimky umožňují sledovat zpracované chyby bez pádu aplikace — například neúspěšný požadavek API nebo výjimku v obchodní logice.
Firebase Performance je nástroj pro monitorování výkonu aplikace. Performance sleduje dobu spouštění, latenci sítě, vykreslování obrazovky a HTTP požadavky. Identifikuje úzká místa, která zpomalují aplikaci a zhoršují uživatelský zážitek.
Integrace Firebase Analytics s Crashlytics poskytuje jedinečnou schopnost vidět nejen to, co spadlo, ale také jaké akce uživatele pádu předcházely. IT Sectr používá tuto kombinaci pro rychlou diagnostiku chyb v produkci — čas od detekce k opravě se zkracuje 3–4krát.
Firebase nabízí dvě NoSQL databáze a cloudové úložiště pro soubory. Volba mezi Firestore a Realtime Database závisí na případu použití — obě databáze synchronizují data v reálném čase, ale mají odlišnou architekturu.
| Vlastnost | Cloud Firestore | Realtime Database |
|---|---|---|
| Datový model | Kolekce a dokumenty (JSON objekty) | Jeden velký JSON strom |
| Dotazy | Složené, indexy, řazení, filtrování | Jednoduché, řazení z jednoho uzlu |
| Škálování | Automatické, multi-region | Jeden region, omezení šířky pásma |
| Ceny | Objem čtení/zápisů/mazání | Objem provozu a úložiště |
| Offline režim | Podporován (cache na disku) | Podporován (cache v paměti) |
| Nejlepší použití | Chaty, sociální sítě, složité dotazy | Chaty, hry, jednoduchá synchronizace |
Cloud Storage je úložiště souborů (obrázky, video, audio). Firebase Storage se automaticky škáluje na petabajty a poskytuje spolehlivé nahrávání s možností obnovení při přerušení připojení. Integruje se s Firebase Auth pro bezpečný přístup.
Firestore se doporučuje pro nové projekty díky flexibilním dotazům a škálovatelnosti. Realtime Database zůstává dobrou volbou pro jednoduché chaty a hry s malým množstvím dat. IT Sectr obvykle používá Firestore jako primární databázi a Realtime Database pouze pro spolupráci v reálném čase.
Firebase Authentication je hotové řešení pro autentizaci uživatelů. Firebase Auth podporuje e-mail/heslo, Google, Apple, Facebook, Twitter, GitHub, telefonní autentizaci a anonymní přihlášení. Celý proces autentizace je implementován na straně klienta přes SDK.
Google Sign-In je jedním z nejoblíbenějších poskytovatelů autentizace. Integrace Google Sign-In trvá 15–30 minut přes Firebase Console a nevyžaduje backendový vývoj. Uživatelé se přihlásí jedním kliknutím pomocí svého Google účtu.
Firebase Auth také poskytuje backendové funkce přes Admin SDK. Můžete vytvářet uživatele, aktualizovat profily, spravovat relace a ověřovat ID tokeny na serveru. Integrace s Cloud Functions umožňuje vytvářet vlastní scénáře autentizace.
Security Rules — bezpečnostní mechanismus Firebase pro databáze a úložiště. Pravidla přístupu jsou popsána deklarativně a kontrolována u každého požadavku. Například: povolit čtení dokumentu pouze pokud se userId rovná aktuálně autentizovanému uživateli.
Příklad jednoduchého Security Rule pro Firestore:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth.uid == userId;
}
match /posts/{postId} {
allow read: if true;
allow write: if request.auth.uid == resource.data.authorId;
}
}
}
Firebase Cloud Messaging (FCM) je služba pro odesílání push notifikací. FCM zpracovává až 500 miliard zpráv denně a podporuje iOS, Android a Web. Zprávy se dělí na notification messages (automatické zobrazení) a data messages (zpracování v aplikaci).
Firebase Remote Config umožňuje měnit chování aplikace bez publikování nové verze. Remote Config se používá pro A/B testování, zapínání/vypínání funkcí, přizpůsobení rozhraní a dynamické změny parametrů (např. frekvence reklam, text paywallu).
Firebase A/B Testing je nástroj pro provádění experimentů. Vytvořte dvě verze aplikace s různými parametry a změřte dopad na metriky (konverze, retence, příjmy). Testy automaticky vypočítávají statistickou významnost a určují vítěze.
Firebase Dynamic Links jsou chytré odkazy, které vedou uživatele na správné místo v aplikaci. Dynamic Links fungují, i když aplikace není nainstalována — v tomto případě vedou na stránku obchodu a po instalaci obnoví kontext a přesměrují na cílovou obrazovku.
IT Sectr používá kombinaci Remote Config + A/B Testing k optimalizaci všech klíčových scénářů: od úvodní obrazovky po platební tok. Parametry Remote Config lze měnit v reálném čase přes Firebase Console — to poskytuje flexibilitu, která není k dispozici u tradičních cyklů vydávání.
Firebase Test Lab je cloudové řešení pro automatizované testování aplikací. Test Lab spouští vaše testy na skutečných zařízeních Google v různých konfiguracích (různé verze OS, rozlišení obrazovky, jazyky). Podporuje Espresso (Android), XCUITest (iOS) a Robo testy.
Firebase App Distribution je platforma pro distribuci beta verzí aplikací. App Distribution nahrazuje TestFlight pro Android a doplňuje jej pro iOS. Můžete nahrávat APK/AAB a získávat zpětnou vazbu od testerů přes integraci s Crashlytics.
Kombinace Test Lab a App Distribution zajišťuje kvalitu ve všech fázích vývoje: od automatizovaných testů na skutečných zařízeních po beta testování se skutečnými uživateli. Integrace s CI/CD (GitHub Actions, Bitrise) činí proces plně automatickým.
| Služba | Účel | Bezplatný limit | iOS | Android | Web |
|---|---|---|---|---|---|
| Analytics | Sběr a analýza událostí uživatelů | Neomezeno | + | + | + |
| Crashlytics | Hlášení pádů | Neomezeno | + | + | - |
| Firestore | NoSQL databáze | 1 GB úložiště | + | + | + |
| Realtime DB | Databáze v reálném čase | 1 GB úložiště | + | + | + |
| Auth | Autentizace uživatelů | Neomezeno | + | + | + |
| Cloud Messaging | Push notifikace | Neomezeno | + | + | + |
| Remote Config | Správa parametrů | Neomezeno | + | + | + |
| Performance | Monitorování výkonu | Neomezeno | + | + | + |
| Test Lab | Cloud testování | 10 testů/den | + | + | - |
| App Distribution | Distribuce beta verzí | Neomezeno | + | + | - |
| Cloud Functions | Serverový kód na vyžádání | 2 miliony volání/měsíc | + | + | + |
Často kladené otázky
Firebase má bezplatný Spark Plan se štědrými limity — analytika, hlášení pádů a autentizace jsou zdarma a neomezené. Blaze Plan (platba podle použití) je potřeba při překročení limitů — například více než 1 GB ve Firestore nebo více než 2 miliony volání Cloud Functions. Většina startupů nepřekročí bezplatné limity v prvních 1–2 letech.
Pro většinu nových projektů se doporučuje Firestore. Firestore nabízí lepší škálovatelnost, bohatší dotazy a replikaci do více regionů. Realtime Database by měla být vybrána pouze pro jednoduché scénáře v reálném čase (chaty s malým množstvím dat, hry v reálném čase).
Ano, Firebase používá otevřené protokoly a data lze exportovat. Firestore má spravovaný export do BigQuery a Google Cloud Storage. Autentizaci lze přenést exportem hash hesel. Cloud Functions lze snadno přepsat na jakýkoli backend framework.
Firebase používá vícevrstvou ochranu: šifrování na transportní úrovni (TLS) a na úrovni úložiště (AES-256). Security Rules poskytují deklarativní řízení přístupu. Firebase také splňuje standardy SOC 1/2/3, ISO 27001 a GDPR.
Firebase v Číně funguje omezeně kvůli blokování služeb Google. Pro čínský trh je třeba použít místní alternativy — například Alibaba Cloud Push místo FCM nebo LeanCloud místo Firebase. Firebase Analytics a Crashlytics také nebudou dostupné bez VPN.
Shrnutí
Vyvineme mobilní aplikaci na klíč
IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.