Glavno
Firebase je Backend-as-a-Service (BaaS) platforma koja pruža gotove alate za razvoj aplikacija. Firebase oslobađa programere potrebe da grade serversku infrastrukturu od nule — analitika, baze podataka, autentifikacija, push obaveštenja i još mnogo toga dostupno je odmah putem SDK-ja.
Google je kupio Firebase 2014. godine za 100 miliona dolara i integrisao ga sa Google Cloud Platform. Firebase nudi više od 20 proizvoda koji se mogu kombinovati u zavisnosti od potreba projekta. Većina servisa ima velikodušan besplatni limit (Spark Plan), a za rast je dostupan plan plaćanja po korišćenju (Blaze Plan).
Integracija Firebase počinje kreiranjem projekta u Firebase Console i dodavanjem konfiguracionog fajla (GoogleService-Info.plist za iOS, google-services.json za Android). Firebase podržava iOS, Android, Flutter, React Native, Unity i veb aplikacije, što ga čini univerzalnim rešenjem za bilo koju platformu.
Firebase Analytics je besplatni alat za analitiku koji prikuplja podatke o ponašanju korisnika. Firebase Analytics je jezgro cele platforme — podatke analitike koriste svi drugi Firebase servisi za targetiranje i personalizaciju.
Firebase Crashlytics je najpopularniji alat za praćenje padova aplikacija. Crashlytics automatski prikuplja stack trace-ove, logove i podatke o uređaju pri svakom padu aplikacije. Izveštaji se grupišu po tipu greške, što omogućava brzu identifikaciju najkritičnijih problema.
Crashlytics podržava prilagođene logove, ključeve i ne-fatalne izuzetke. Ne-fatalni izuzeci omogućavaju praćenje obrađenih grešaka bez pada aplikacije — na primer, neuspešan API zahtev ili izuzetak u poslovnoj logici.
Firebase Performance je alat za praćenje performansi aplikacije. Performance prati vreme pokretanja, kašnjenje mreže, renderovanje ekrana i HTTP zahteve. Identifikuje uska grla koja usporavaju aplikaciju i pogoršavaju korisničko iskustvo.
Integracija Firebase Analytics sa Crashlytics pruža jedinstvenu mogućnost da se vidi ne samo šta je palo, već i koje radnje korisnika su prethodile padu. IT Sectr koristi ovu kombinaciju za brzu dijagnostiku bagova u produkciji — vreme od otkrivanja do popravke smanjuje se 3–4 puta.
Firebase nudi dve NoSQL baze podataka i cloud skladište za datoteke. Izbor između Firestore i Realtime Database zavisi od scenarija korišćenja — obe baze sinhronizuju podatke u realnom vremenu, ali imaju različite arhitekture.
| Karakteristika | Cloud Firestore | Realtime Database |
|---|---|---|
| Model podataka | Kolekcije i dokumenti (JSON objekti) | Jedno veliko JSON stablo |
| Upiti | Složeni, indeksi, sortiranje, filtriranje | Jednostavni, sortiranje sa jednog čvora |
| Skaliranje | Automatsko, multi-region | Jedan region, ograničenja propusnog opsega |
| Cene | Obim čitanja/pisanja/brisanja | Obim saobraćaja i skladištenja |
| Offline režim | Podržan (keš na disku) | Podržan (keš u memoriji) |
| Najbolja upotreba | Četovi, društvene mreže, složeni upiti | Četovi, igre, jednostavna sinhronizacija |
Cloud Storage je skladište za datoteke (slike, video, audio). Firebase Storage se automatski skalira do petabajta i pruža pouzdano otpremanje sa nastavkom pri prekidu veze. Integriše se sa Firebase Auth za siguran pristup.
Firestore se preporučuje za nove projekte zbog fleksibilnih upita i skalabilnosti. Realtime Database ostaje dobar izbor za jednostavne četove i igre sa malom količinom podataka. IT Sectr obično koristi Firestore kao primarnu bazu podataka, a Realtime Database samo za kolaboraciju u realnom vremenu.
Firebase Authentication je gotovo rešenje za autentifikaciju korisnika. Firebase Auth podržava email/lozinku, Google, Apple, Facebook, Twitter, GitHub, telefonsku autentifikaciju i anonimni prijavu. Ceo proces autentifikacije je implementiran na klijentskoj strani putem SDK-ja.
Google Sign-In je jedan od najpopularnijih pružalaca autentifikacije. Integracija Google Sign-In traje 15–30 minuta putem Firebase Console i ne zahteva backend razvoj. Korisnici se prijavljuju jednim klikom koristeći svoj Google nalog.
Firebase Auth takođe pruža backend funkcije putem Admin SDK-ja. Možete kreirati korisnike, ažurirati profile, upravljati sesijama i verifikovati ID tokene na serveru. Integracija sa Cloud Functions omogućava kreiranje prilagođenih scenarija autentifikacije.
Security Rules — mehanizam bezbednosti Firebase za baze podataka i skladišta. Pravila pristupa se opisuju deklarativno i proveravaju se na svakom zahtevu. Na primer: dozvoli čitanje dokumenta samo ako je userId jednak trenutno autentifikovanom korisniku.
Primer jednostavnog Security Rule za 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 servis za slanje push obaveštenja. FCM obrađuje do 500 milijardi poruka dnevno i podržava iOS, Android i Web. Poruke se dele na notification messages (automatsko prikazivanje) i data messages (obrada u aplikaciji).
Firebase Remote Config omogućava menjanje ponašanja aplikacije bez objavljivanja nove verzije. Remote Config se koristi za A/B testiranje, uključivanje/isključivanje funkcija, prilagođavanje interfejsa i dinamičke promene parametara (na primer, učestalost oglasa, tekst paywall-a).
Firebase A/B Testing je alat za sprovođenje eksperimenata. Napravite dve verzije aplikacije sa različitim parametrima i izmerite uticaj na metrike (konverzija, zadržavanje, prihod). Testovi automatski izračunavaju statističku značajnost i određuju pobednika.
Firebase Dynamic Links su pametne veze koje vode korisnika na pravo mesto u aplikaciji. Dynamic Links rade čak i ako aplikacija nije instalirana — u tom slučaju vode na stranicu prodavnice, a nakon instalacije obnavljaju kontekst i preusmeravaju na ciljani ekran.
IT Sectr koristi kombinaciju Remote Config + A/B Testing za optimizaciju svih ključnih scenarija: od ekrana dobrodošlice do toka plaćanja. Parametri Remote Config se mogu menjati u realnom vremenu putem Firebase Console — ovo pruža fleksibilnost koja nije dostupna u tradicionalnim ciklusima izdavanja.
Firebase Test Lab je cloud rešenje za automatsko testiranje aplikacija. Test Lab pokreće vaše testove na stvarnim Google uređajima u različitim konfiguracijama (različite verzije OS-a, rezolucije ekrana, jezici). Podržava Espresso (Android), XCUITest (iOS) i Robo testove.
Firebase App Distribution je platforma za distribuciju beta verzija aplikacija. App Distribution zamenjuje TestFlight za Android i dopunjava ga za iOS. Možete otpremati APK/AAB i dobijati povratne informacije od testera putem integracije sa Crashlytics.
Kombinacija Test Lab i App Distribution obezbeđuje kvalitet u svim fazama razvoja: od automatskih testova na stvarnim uređajima do beta testiranja sa stvarnim korisnicima. Integracija sa CI/CD (GitHub Actions, Bitrise) čini proces potpuno automatskim.
| Servis | Svrha | Besplatni limit | iOS | Android | Web |
|---|---|---|---|---|---|
| Analytics | Prikupljanje i analiza događaja korisnika | Neograničeno | + | + | + |
| Crashlytics | Izveštavanje o padovima | Neograničeno | + | + | - |
| Firestore | NoSQL baza podataka | 1 GB skladištenja | + | + | + |
| Realtime DB | Baza podataka u realnom vremenu | 1 GB skladištenja | + | + | + |
| Auth | Autentifikacija korisnika | Neograničeno | + | + | + |
| Cloud Messaging | Push obaveštenja | Neograničeno | + | + | + |
| Remote Config | Upravljanje parametrima | Neograničeno | + | + | + |
| Performance | Praćenje performansi | Neograničeno | + | + | + |
| Test Lab | Cloud testiranje | 10 testova/dan | + | + | - |
| App Distribution | Distribucija beta verzija | Neograničeno | + | + | - |
| Cloud Functions | Server kod na zahtev | 2 miliona poziva/mesec | + | + | + |
Često postavljana pitanja
Firebase ima besplatni Spark Plan sa velikodušnim limitima — analitika, izveštavanje o padovima i autentifikacija su besplatni i neograničeni. Blaze Plan (plaćanje po korišćenju) je potreban kada se limiti prekorače — na primer, više od 1 GB u Firestore ili više od 2 miliona poziva Cloud Functions. Većina startapova ne prekoračuje besplatne limite u prvih 1–2 godine.
Za većinu novih projekata preporučuje se Firestore. Firestore nudi bolju skalabilnost, bogatije upite i multi-region replikaciju. Realtime Database treba birati samo za jednostavne real-time scenarije (četovi sa malom količinom podataka, igre u realnom vremenu).
Da, Firebase koristi otvorene protokole i podaci se mogu izvesti. Firestore ima upravljani izvoz u BigQuery i Google Cloud Storage. Autentifikacija se može preneti izvozom heševa lozinki. Cloud Functions se lako mogu prepisati na bilo koji backend frejmvork.
Firebase koristi višeslojnu zaštitu: enkripciju na transportnom nivou (TLS) i na nivou skladištenja (AES-256). Security Rules pružaju deklarativnu kontrolu pristupa. Firebase je takođe usklađen sa standardima SOC 1/2/3, ISO 27001 i GDPR.
Firebase ograničeno radi u Kini zbog blokiranja Google servisa. Za kinesko tržište treba koristiti lokalne alternative — na primer, Alibaba Cloud Push umesto FCM, ili LeanCloud umesto Firebase. Firebase Analytics i Crashlytics takođe neće biti dostupni bez VPN-a.
Rezime
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.