Najważniejsze informacje
Firebase to platforma Backend-as-a-Service (BaaS), która zapewnia gotowe narzędzia do tworzenia aplikacji. Firebase uwalnia programistów od konieczności budowania infrastruktury serwerowej od zera — analityka, bazy danych, uwierzytelnianie, powiadomienia push i wiele więcej jest dostępnych od razu przez SDK.
Google przejęło Firebase w 2014 roku za 100 milionów dolarów i zintegrowało z Google Cloud Platform. Firebase oferuje ponad 20 produktów, które można łączyć w zależności od potrzeb projektu. Większość usług ma hojny darmowy limit (Spark Plan), a dla wzrostu dostępny jest płatny plan z opłatą za użycie (Blaze Plan).
Integracja Firebase zaczyna się od utworzenia projektu w Firebase Console i dodania pliku konfiguracyjnego (GoogleService-Info.plist dla iOS, google-services.json dla Android). Firebase obsługuje iOS, Android, Flutter, React Native, Unity i aplikacje webowe, co czyni go uniwersalnym rozwiązaniem dla każdej platformy.
Firebase Analytics to darmowe narzędzie analityczne, które zbiera dane o zachowaniu użytkowników. Firebase Analytics jest jądrem całej platformy — dane analityczne są używane przez wszystkie inne usługi Firebase do targetowania i personalizacji.
Firebase Crashlytics to najpopularniejsze narzędzie do śledzenia awarii aplikacji. Crashlytics automatycznie zbiera stack tracki, logi i dane urządzenia przy każdej awarii aplikacji. Raporty są grupowane według typu błędu, co pozwala szybko zidentyfikować najbardziej krytyczne problemy.
Crashlytics obsługuje niestandardowe logi, klucze i wyjątki niekrytyczne. Wyjątki niekrytyczne pozwalają śledzić obsłużone błędy bez awarii aplikacji — na przykład nieudane żądanie API lub wyjątek w logice biznesowej.
Firebase Performance to narzędzie do monitorowania wydajności aplikacji. Performance śledzi czas uruchamiania, opóźnienia sieci, renderowanie ekranów i żądania HTTP. Identyfikuje wąskie gardła, które spowalniają aplikację i pogarszają doświadczenie użytkownika.
Integracja Firebase Analytics z Crashlytics daje unikalną możliwość zobaczenia nie tylko co uległo awarii, ale także jakie działania użytkownika poprzedzały awarię. IT Sectr używa tego połączenia do szybkiej diagnostyki błędów w produkcji — czas od wykrycia do naprawy skraca się 3–4 razy.
Firebase oferuje dwie bazy danych NoSQL i magazyn w chmurze dla plików. Wybór między Firestore a Realtime Database zależy od przypadku użycia — obie bazy synchronizują dane w czasie rzeczywistym, ale mają różne architektury.
| Cecha | Cloud Firestore | Realtime Database |
|---|---|---|
| Model danych | Kolekcje i dokumenty (obiekty JSON) | Jedno duże drzewo JSON |
| Zapytania | Złożone, indeksy, sortowanie, filtrowanie | Proste, sortowanie z pojedynczego węzła |
| Skalowanie | Automatyczne, wiele regionów | Jeden region, ograniczenia przepustowości |
| Cennik | Wolumin odczytów/zapisów/usunięć | Wolumin ruchu i przechowywania |
| Tryb offline | Obsługiwany (pamięć podręczna na dysku) | Obsługiwany (pamięć podręczna w RAM) |
| Najlepsze zastosowanie | Czaty, sieci społecznościowe, złożone zapytania | Czaty, gry, prosta synchronizacja |
Cloud Storage to magazyn plików (obrazy, wideo, audio). Firebase Storage automatycznie skaluje się do petabajtów i zapewnia niezawodne przesyłanie z możliwością wznowienia przy przerwaniu połączenia. Integruje się z Firebase Auth dla bezpiecznego dostępu.
Firestore jest zalecany dla nowych projektów ze względu na elastyczne zapytania i skalowalność. Realtime Database pozostaje dobrym wyborem dla prostych czatów i gier z małą ilością danych. IT Sectr zazwyczaj używa Firestore jako głównej bazy danych, a Realtime Database tylko do współpracy w czasie rzeczywistym.
Firebase Authentication to gotowe rozwiązanie do uwierzytelniania użytkowników. Firebase Auth obsługuje email/hasło, Google, Apple, Facebook, Twitter, GitHub, uwierzytelnianie telefoniczne i logowanie anonimowe. Cały proces uwierzytelniania jest zaimplementowany po stronie klienta przez SDK.
Google Sign-In to jeden z najpopularniejszych dostawców uwierzytelniania. Integracja Google Sign-In zajmuje 15–30 minut przez Firebase Console i nie wymaga tworzenia backendu. Użytkownicy logują się jednym kliknięciem, używając swojego konta Google.
Firebase Auth zapewnia także funkcje backendu przez Admin SDK. Możesz tworzyć użytkowników, aktualizować profile, zarządzać sesjami i weryfikować tokeny ID na serwerze. Integracja z Cloud Functions pozwala tworzyć niestandardowe scenariusze uwierzytelniania.
Security Rules — mechanizm bezpieczeństwa Firebase dla baz danych i magazynów. Zasady dostępu są opisywane deklaratywnie i sprawdzane przy każdym żądaniu. Na przykład: zezwól na odczyt dokumentu tylko jeśli userId jest równy aktualnie uwierzytelnionemu użytkownikowi.
Przykład prostej Security Rule dla 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) to usługa do wysyłania powiadomień push. FCM przetwarza do 500 miliardów wiadomości dziennie i obsługuje iOS, Android i Web. Wiadomości dzielą się na notification messages (automatyczne wyświetlanie) i data messages (przetwarzanie w aplikacji).
Firebase Remote Config pozwala zmieniać zachowanie aplikacji bez publikowania nowej wersji. Remote Config jest używany do testów A/B, włączania/wyłączania funkcji, dostosowywania interfejsu i dynamicznych zmian parametrów (na przykład częstotliwość reklam, tekst paywall).
Firebase A/B Testing to narzędzie do przeprowadzania eksperymentów. Stwórz dwie wersje aplikacji z różnymi parametrami i zmierz wpływ na metryki (konwersja, retencja, przychód). Testy automatycznie obliczają istotność statystyczną i określają zwycięzcę.
Firebase Dynamic Links to inteligentne linki, które prowadzą użytkownika we właściwe miejsce w aplikacji. Dynamic Links działają nawet jeśli aplikacja nie jest zainstalowana — w tym przypadku prowadzą do strony sklepu, a po instalacji przywracają kontekst i przekierowują do ekranu docelowego.
IT Sectr używa kombinacji Remote Config + A/B Testing do optymalizacji wszystkich kluczowych scenariuszy: od ekranu powitalnego do procesu płatności. Parametry Remote Config można zmieniać w czasie rzeczywistym przez Firebase Console — zapewnia to elastyczność niedostępną w tradycyjnych cyklach wydawniczych.
Firebase Test Lab to chmurowe rozwiązanie do automatycznego testowania aplikacji. Test Lab uruchamia Twoje testy na prawdziwych urządzeniach Google w różnych konfiguracjach (różne wersje systemu operacyjnego, rozdzielczości ekranu, języki). Obsługuje Espresso (Android), XCUITest (iOS) i testy Robo.
Firebase App Distribution to platforma do dystrybucji wersji beta aplikacji. App Distribution zastępuje TestFlight dla Androida i uzupełnia go dla iOS. Możesz przesyłać APK/AAB i otrzymywać opinie od testerów przez integrację z Crashlytics.
Połączenie Test Lab i App Distribution zapewnia jakość na wszystkich etapach rozwoju: od automatycznych testów na prawdziwych urządzeniach po testy beta z prawdziwymi użytkownikami. Integracja z CI/CD (GitHub Actions, Bitrise) sprawia, że proces jest w pełni automatyczny.
| Usługa | Przeznaczenie | Darmowy limit | iOS | Android | Web |
|---|---|---|---|---|---|
| Analytics | Zbieranie i analiza zdarzeń użytkowników | Bez ograniczeń | + | + | + |
| Crashlytics | Raportowanie awarii | Bez ograniczeń | + | + | - |
| Firestore | Baza danych NoSQL | 1 GB pamięci | + | + | + |
| Realtime DB | Baza danych czasu rzeczywistego | 1 GB pamięci | + | + | + |
| Auth | Uwierzytelnianie użytkowników | Bez ograniczeń | + | + | + |
| Cloud Messaging | Powiadomienia push | Bez ograniczeń | + | + | + |
| Remote Config | Zarządzanie parametrami | Bez ograniczeń | + | + | + |
| Performance | Monitorowanie wydajności | Bez ograniczeń | + | + | + |
| Test Lab | Testy w chmurze | 10 testów/dzień | + | + | - |
| App Distribution | Dystrybucja wersji beta | Bez ograniczeń | + | + | - |
| Cloud Functions | Kod serwerowy na żądanie | 2 miliony wywołań/miesiąc | + | + | + |
Często zadawane pytania
Firebase ma darmowy plan Spark Plan z hojnymi limitami — analityka, raportowanie awarii i uwierzytelnianie są darmowe i bez ograniczeń. Plan Blaze Plan (płatność za użycie) jest potrzebny przy przekroczeniu limitów — na przykład więcej niż 1 GB w Firestore lub więcej niż 2 miliony wywołań Cloud Functions. Większość startupów nie przekracza darmowych limitów w pierwszych 1–2 latach.
Dla większości nowych projektów zalecany jest Firestore. Firestore oferuje lepszą skalowalność, bogatsze zapytania i replikację w wielu regionach. Realtime Database należy wybierać tylko dla prostych scenariuszy czasu rzeczywistego (czaty z małą ilością danych, gry czasu rzeczywistego).
Tak, Firebase używa otwartych protokołów, a dane można eksportować. Firestore ma zarządzany eksport do BigQuery i Google Cloud Storage. Uwierzytelnianie można przenieść, eksportując hashe haseł. Cloud Functions można łatwo przepisać na dowolny framework backendowy.
Firebase używa wielowarstwowej ochrony: szyfrowania na poziomie transportu (TLS) i na poziomie przechowywania (AES-256). Security Rules zapewniają deklaratywną kontrolę dostępu. Firebase jest również zgodny ze standardami SOC 1/2/3, ISO 27001 i GDPR.
Firebase działa w Chinach w ograniczonym zakresie z powodu blokowania usług Google. Dla rynku chińskiego należy używać lokalnych alternatyw — na przykład Alibaba Cloud Push zamiast FCM lub LeanCloud zamiast Firebase. Firebase Analytics i Crashlytics również będą niedostępne bez VPN.
Podsumowanie
Opracujemy aplikację mobilną pod klucz
IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.