Firebase је Google платформа за развој мобилних и веб апликација, која укључује backend услуге, аналитику, алате за аутентификацију и push обавештења. Према извештају Google Firebase (2025), платформу користи више од 3 милиона апликација широм света. Firebase омогућава програмерима да брзо креирају backend без управљања серверима и инфраструктуром.
Главно
Firebase је Google платформа која пружа скуп cloud услуга за развој мобилних и веб апликација. Firebase је основан 2011. године као стартап који је нудио Realtime Database са синхронизацијом података у реалном времену. Године 2014. Google је купио Firebase за око 300 милиона долара и од тада се платформа претворила у комплексан екосистем од преко 20 услуга за све фазе развоја апликација.
Firebase решава три главна задатка мобилног развоја: креирање backend-а без управљања серверима (Firestore, Cloud Functions, Hosting), праћење и аналитика (Analytics, Crashlytics, Performance Monitoring) и корисничке услуге (Authentication, Cloud Messaging, Remote Config). Према Google-у (2025), Firebase SDK је инсталиран на преко 3 милијарде уређаја широм света. Платформа подржава Android, iOS, Web, Unity и Flutter, што је чини cross-platform решењем за пројекте било које величине од стартапа до великих корпорација. Бесплатни план Spark омогућава почетак коришћења Firebase-а без финансијских улагања, што је посебно важно за независне програмере и мала студија у фази прототипирања и лансирања производа.
Firebase укључује преко 20 услуга подељених у три категорије. Свака категорија решава специфичне задатке развоја, од креирања backend-а до интеракције са корисницима.
Категорија „Build” укључује услуге за креирање backend-а: Firestore (NoSQL база података), Authentication (аутентификација путем email-а, Google-а, Apple-а, Facebook-а), Cloud Storage (складиштење датотека), Cloud Functions (серверске функције), Realtime Database (база података у реалном времену) и Hosting (хостинг веб садржаја).
Категорија „Release & Monitor” укључује услуге за тестирање и праћење: Crashlytics (извештаји о грешкама у реалном времену), Performance Monitoring (мерење перформанси), Test Lab (тестирање на реалним уређајима у Google cloud-у) и App Distribution (дистрибуција тест верзија). Категорија „Engage” укључује услуге за интеракцију са корисницима: Cloud Messaging (push обавештења), In-App Messaging (поруке унутар апликације), Remote Config (даљинска конфигурација) и A/B Testing (експерименти). Analytics је централна услуга која повезује све остале — подаци из Crashlytics-а, Cloud Messaging-а и A/B Testing-а се аутоматски преносе у Analytics ради изградње комплетне слике понашања корисника.
Повезивање Firebase-а са апликацијом почиње регистрацијом пројекта у Firebase Console (console.firebase.google.com). Након регистрације, Firebase генерише конфигурациони фајл google-services.json за Android или GoogleService-Info.plist за iOS. За Android је потребно додати Google Services додатак у build.gradle фајл на нивоу пројекта и применити га у модулу апликације.
Пример основног подешавања Firebase-а за Android апликацију у Kotlin-у демонстрира минималну конфигурацију у build.gradle фајловима (ниво пројекта и апликације), као и иницијализацију Firebase-а у коду апликације:
// build.gradle (Ниво пројекта)
buildscript {
dependencies {
classpath "com.google.gms:google-services:4.4.2"
}
}
// build.gradle (Ниво апликације)
plugins {
id "com.google.gms.google-services"
}
dependencies {
implementation "com.google.firebase:firebase-analytics:22.1.0"
implementation "com.google.firebase:firebase-firestore:25.1.0"
implementation "com.google.firebase:firebase-auth:23.1.0"
}
// Application.kt
import com.google.firebase.FirebaseApp
import com.google.firebase.analytics.FirebaseAnalytics
class App : Application() {
override fun onCreate() {
super.onCreate()
FirebaseApp.initializeApp(this)
val analytics = FirebaseAnalytics.getInstance(this)
}
}
Код показује три дела подешавања: додавање Google Services додатка у кореном build.gradle-у, додавање Firebase зависности у модулу апликације (analytics, firestore, auth) и иницијализацију Firebase-а у класи Application. Након подешавања, Firebase аутоматски почиње да прикупља аналитику: сесије корисника, екране, догађаје и демографске податке без додатног кода. Конфигурација путем Remote Config-а омогућава промену понашања апликације на даљину без објављивања ажурирања кроз продавницу. За iOS процес подешавања је сличан: потребно је додати GoogleService-Info.plist у пројекат и позвати FirebaseApp.configure() у AppDelegate-у.
Firebase Analytics је бесплатна услуга аналитике са неограниченим бројем догађаја који се прате. Analytics прикупља податке о корисницима, сесијама, куповинама и конверзијама, а такође аутоматски бележи догађаје првог покретања, ажурирања апликације и интеракције са push обавештењима. Интеграција са Google Ads-ом омогућава праћење ефикасности рекламних кампања и оптимизацију трошкова за привлачење корисника.
Firebase Analytics пружа извештаје о задржавању корисника (retention), cohorts анализу, конверзионе левкове и сегментацију публике према демографским подацима, interesima и понашању. Сви догађаји су бесплатни и немају ограничења у количини. Подаци су доступни у реалном времену у Firebase Console са закашњењем не већим од 2–4 сата за стандардне извештаје.
Crashlytics је услуга праћења грешака у реалном времену. Crashlytics аутоматски прикупља извештаје о падовима апликације са комплетним stacktrace-ом, стањем уређаја, верзијом оперативног система и редоследом акција корисника пре пада. Према подацима Firebase-а (2025), Crashlytics одређује основни узрок пада у 85% случајева аутоматски, што скраћује време дијагностике са сати на минуте. Услуга групише падове по типовима и показује трендове — да ли се број падова повећава након последњег ажурирања или остаје стабилан.
Пример евидентирања корисничког догађаја у Firebase Analytics на Kotlin-у показује како пратити кључне акције корисника у апликацији:
import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.analytics.logEvent
class AnalyticsTracker {
private lateinit var analytics: FirebaseAnalytics
fun trackPurchase(itemId: String, price: Double) {
analytics.logEvent(FirebaseAnalytics.Event.PURCHASE) {
param(FirebaseAnalytics.Param.ITEM_ID, itemId)
param(FirebaseAnalytics.Param.PRICE, price)
}
}
}
Код бележи догађај куповине са идентификатором производа и ценом. Firebase Analytics аутоматски повезује догађај са тренутним корисником и сесијом, што омогућава изградњу конверзионих левкова, cohorts анализе и извештаја о задржавању без додатне конфигурације. Подаци аналитике се ажурирају у реалном времену у Firebase Console и доступни су за извоз у BigQuery ради дубље анализе путем SQL упита. Захваљујући интеграцији са Google Ads-ом, могуће је пратити комплетан циклус од приказивања рекламе до циљне акције у апликацији и оптимизовати рекламне кампање на основу података о понашању корисника.
Firebase нуди две базе података: Cloud Firestore (препоручена) и Realtime Database (старија). Избор између њих зависи од захтева пројекта у погледу скалирања, сложености упита и модела података.
Cloud Firestore је NoSQL документна база података са аутоматском синхронизацијом између уређаја, offline подршком и скалирањем без учешћа програмера. Подаци се чувају у документима организованим у колекције, што поједностављује структурисање и упите у поређењу са стаблом чворова Realtime Database-а.
Главне разлике између Firestore-а и Realtime Database-а: Firestore подржава сложене упите са филтрирањем по више поља, сортирање и ограничења (limit), док Realtime Database захтева сортирање на клијентској страни за сложене упите. Firestore се аутоматски скалира до милиона истовремених конекција, Realtime Database је ограничена на 200 000 истовремених конекција. Firestore користи јаснији модел безбедности заснован на подударању путања и правилима приступа (security rules), што смањује ризик од грешака у конфигурацији.
Пример рада са Cloud Firestore у Kotlin-у показује упис и читање података у колекцији корисника:
import com.google.firebase.firestore.FirebaseFirestore
import com.google.firebase.firestore.SetOptions
data class User(
val name: String = "",
val email: String = ""
)
class UserRepository {
private val db = FirebaseFirestore.getInstance()
fun saveUser(userId: String, user: User) {
db.collection("users")
.document(userId)
.set(user, SetOptions.merge())
}
fun loadUser(userId: String) {
db.collection("users")
.document(userId)
.get()
.addOnSuccessListener { doc ->
val user = doc.toObject(User::class.java)
}
}
}
Код дефинише data class User и класу UserRepository са методама saveUser и loadUser за рад са колекцијом „users” у Firestore-у. Метода save користи SetOptions.merge за делимично ажурирање документа без преписивања постојећих поља. Метода load врши асинхроно читање документа путем get-а са onSuccessListener callback-ом. Firestore аутоматски синхронизује промене између уређаја преко слушача (SnapshotListener), што омогућава изградњу апликација у реалном времену без додатне WebSocket инфраструктуре. Таква архитектура поједностављује развој четова, токова активности и других функција које захтевају тренутно ажурирање података на свим уређајима корисника.
Често постављана питања
Firebase — Google платформа са скупом cloud услуга за мобилне и веб апликације. Користи се за брзо креирање backend-а без управљања серверима, аналитику, аутентификацију корисника, push обавештења и праћење перформанси и грешака апликација.
Firebase нуди бесплатни план Spark са ограничењима: до 50 000 истовремених конекција на Firestore, 10 GB складишта и 10 GB преузимања месечно. За већину стартапа и малих пројеката, Spark у потпуности покрива потребе у фази покретања и тестирања.
Firebase нуди две базе података: Cloud Firestore (препоручена) — NoSQL документна база са offline подршком и сложеним упитима, и Realtime Database — JSON структура за податке у реалном времену са ограниченом подршком за упите и скалирање.
Firebase Analytics бесплатно прикупља неограничен број догађаја о понашању корисника. Подаци се аутоматски интегришу са Crashlytics, Cloud Messaging и Google Ads. Могућ је извоз у BigQuery за креирање прилагођених извештаја коришћењем SQL-а.
Firebase подржава Android, iOS, Web, Flutter, Unity и C++. SDK-ови су доступни за Kotlin, Swift, JavaScript, Dart и C++. Платформа омогућава коришћење истих услуга на свим платформама, што поједностављује cross-platform развој и одржавање пројеката.
Закључак
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.
Прочитајте такође