Firebase, mobil ve web uygulamaları geliştirmek için Google platformudur; backend hizmetleri, analitik, kimlik doğrulama araçları ve push bildirimlerini içerir. Google Firebase (2025) raporuna göre, platform dünya çapında 3 milyondan fazla uygulama tarafından kullanılmaktadır. Firebase, geliştiricilerin sunucuları ve altyapıyı yönetmeden hızlı bir şekilde backend oluşturmasına olanak tanır.
Önemli Noktalar
Firebase, mobil ve web uygulamaları geliştirmek için bir dizi bulut hizmeti sağlayan Google platformudur. Firebase, 2011 yılında gerçek zamanlı veri senkronizasyonu sunan Realtime Database ile bir girişim olarak kuruldu. 2014 yılında Google, Firebase'i yaklaşık 300 milyon dolara satın aldı ve o zamandan beri platform, uygulama geliştirmenin tüm aşamaları için 20'den fazla hizmetten oluşan kapsamlı bir ekosisteme dönüştü.
Firebase, mobil geliştirmenin üç ana sorununu çözer: sunucuları yönetmeden backend oluşturma (Firestore, Cloud Functions, Hosting), izleme ve analitik (Analytics, Crashlytics, Performance Monitoring) ve kullanıcı hizmetleri (Authentication, Cloud Messaging, Remote Config). Google'a (2025) göre Firebase SDK, dünya çapında 3 milyardan fazla cihaza yüklenmiştir. Platform; Android, iOS, Web, Unity ve Flutter'ı destekleyerek startuplardan büyük kuruluşlara kadar her ölçekteki proje için çapraz platform çözümü haline gelir. Ücretsiz Spark planı, finansal yatırım gerektirmeden Firebase kullanmaya başlamanızı sağlar; bu, prototip oluşturma ve ürün lansmanı aşamasındaki bağımsız geliştiriciler ve küçük stüdyolar için özellikle önemlidir.
Firebase, üç kategoriye ayrılmış 20'den fazla hizmet içerir. Her kategori, backend oluşturmadan kullanıcı etkileşimine kadar belirli geliştirme zorluklarını ele alır.
“Build” kategorisi, backend oluşturma hizmetlerini içerir: Firestore (NoSQL veritabanı), Authentication (e-posta, Google, Apple, Facebook ile giriş), Cloud Storage (dosya depolama), Cloud Functions (sunucusuz işlevler), Realtime Database (gerçek zamanlı veritabanı) ve Hosting (web içeriği barındırma).
“Release & Monitor” kategorisi, test ve izleme hizmetlerini içerir: Crashlytics (gerçek zamanlı çökme raporları), Performance Monitoring (performans ölçümü), Test Lab (Google Cloud'da gerçek cihazlarda test) ve App Distribution (test sürümlerini dağıtma). “Engage” kategorisi, kullanıcı etkileşimi hizmetlerini içerir: Cloud Messaging (push bildirimleri), In-App Messaging (uygulama içi mesajlar), Remote Config (uzaktan yapılandırma) ve A/B Testing (deneyler). Analytics, diğerlerini birbirine bağlayan merkezi hizmettir — Crashlytics, Cloud Messaging ve A/B Testing'den gelen veriler, kullanıcı davranışının tam bir resmini oluşturmak için otomatik olarak Analytics'e gönderilir.
Firebase'i uygulamanıza bağlamak, Firebase Console'da (console.firebase.google.com) bir proje kaydederek başlar. Kayıttan sonra Firebase bir yapılandırma dosyası oluşturur: Android için google-services.json veya iOS için GoogleService-Info.plist. Android için, proje düzeyinde build.gradle dosyasına Google Services eklentisini eklemeniz ve uygulama modülünde uygulamanız gerekir.
Kotlin'de bir Android uygulaması için temel Firebase kurulumu örneği, build.gradle dosyalarında (Proje ve Uygulama düzeyinde) minimum yapılandırmayı ve uygulama kodunda Firebase başlatmayı gösterir:
// build.gradle (Project level)
buildscript {
dependencies {
classpath "com.google.gms:google-services:4.4.2"
}
}
// build.gradle (App level)
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)
}
}
Kod, kurulumun üç bölümünü gösterir: kök build.gradle'a Google Services eklentisini eklemek, uygulama modülüne Firebase bağımlılıklarını eklemek (analytics, firestore, auth) ve Application sınıfında Firebase'i başlatmak. Kurulumdan sonra Firebase, ek kod gerektirmeden otomatik olarak analitik toplamaya başlar: kullanıcı oturumları, ekranlar, olaylar ve demografik veriler. Remote Config aracılığıyla yapılandırma, mağaza üzerinden güncelleme yayınlamadan uygulama davranışını uzaktan değiştirmenize olanak tanır. iOS için kurulum süreci benzerdir: projeye GoogleService-Info.plist eklemeniz ve AppDelegate'de FirebaseApp.configure() çağırmanız gerekir.
Firebase Analytics, sınırsız izlenen olaylı ücretsiz bir analitik hizmetidir. Analytics, kullanıcılar, oturumlar, satın almalar ve dönüşümler hakkında veri toplar ve ilk başlatma, uygulama güncellemeleri ve push bildirimleriyle etkileşim gibi olayları otomatik olarak günlüğe kaydeder. Google Ads ile entegrasyon, reklam kampanyalarının etkinliğini izlemenize ve kullanıcı edinme maliyetlerini optimize etmenize olanak tanır.
Firebase Analytics, kullanıcı tutma, kohort analizi, dönüşüm hunileri ve demografik verilere, ilgi alanlarına ve davranışa göre kitle segmentasyonu hakkında raporlar sağlar. Tüm olaylar ücretsizdir ve miktar sınırı yoktur. Standart raporlar için veriler, Firebase Console'da en fazla 2–4 saat gecikmeyle gerçek zamanlı olarak kullanılabilir.
Crashlytics, gerçek zamanlı bir çökme izleme hizmetidir. Crashlytics, tam yığın izi, cihaz durumu, işletim sistemi sürümü ve çökmeden önceki kullanıcı eylemleri sırasıyla birlikte çökme raporlarını otomatik olarak toplar. Firebase'e (2025) göre Crashlytics, vakaların %85'inde otomatik olarak çökmenin temel nedenini belirleyerek tanı süresini saatlerden dakikalara indirir. Hizmet, çökmeleri türe göre gruplandırır ve trendleri gösterir — son güncellemeden sonra çökme sayısının artıp artmadığını veya istikrarlı kalıp kalmadığını gösterir.
Kotlin'de Firebase Analytics'te özel bir olay günlüğe kaydetme örneği, uygulamadaki kullanıcıların temel eylemlerinin nasıl izleneceğini gösterir:
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)
}
}
}
Kod, bir ürün kimliği ve fiyatıyla bir satın alma olayını günlüğe kaydeder. Firebase Analytics, olayı otomatik olarak mevcut kullanıcı ve oturumla ilişkilendirerek ek yapılandırma gerektirmeden dönüşüm hunileri, kohort analizi ve tutma raporları oluşturmanıza olanak tanır. Analitik verileri Firebase Console'da gerçek zamanlı olarak güncellenir ve SQL sorguları kullanarak derinlemesine analiz için BigQuery'ye verilebilir. Google Ads ile entegrasyon sayesinde, reklam gösteriminden uygulamadaki hedef eyleme kadar tüm döngüyü izleyebilir ve kullanıcı davranışı verilerine dayanarak reklam kampanyalarını optimize edebilirsiniz.
Firebase iki veritabanı sunar: Cloud Firestore (önerilen) ve Realtime Database (eski). Aralarındaki seçim, projenin ölçeklenebilirlik, sorgu karmaşıklığı ve veri modelleme gereksinimlerine bağlıdır.
Cloud Firestore, cihazlar arasında otomatik senkronizasyon, çevrimdışı destek ve geliştirici müdahalesi olmadan ölçekleme sunan bir NoSQL belge veritabanıdır. Veriler, koleksiyonlar halinde düzenlenmiş belgelerde saklanır; bu, Realtime Database düğüm ağacına kıyasla yapılandırmayı ve sorgulamayı basitleştirir.
Firestore ve Realtime Database arasındaki temel farklar: Firestore, birden çok alana göre filtreleme, sıralama ve limitlerle karmaşık sorguları desteklerken, Realtime Database karmaşık sorgular için istemci tarafı sıralama gerektirir. Firestore otomatik olarak milyonlarca eşzamanlı bağlantıya ölçeklenirken, Realtime Database 200.000 eşzamanlı bağlantıyla sınırlıdır. Firestore, yol eşleştirme ve güvenlik kurallarına dayalı daha sezgisel bir güvenlik modeli kullanarak yapılandırma hataları riskini azaltır.
Kotlin'de Cloud Firestore ile çalışma örneği, kullanıcılar koleksiyonunda veri yazma ve okumayı gösterir:
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)
}
}
}
Kod, bir veri sınıfı User ve Firestore'daki “users” koleksiyonuyla çalışmak için saveUser ve loadUser yöntemlerine sahip bir UserRepository sınıfı tanımlar. save yöntemi, mevcut alanların üzerine yazmadan belgeyi kısmi güncellemek için SetOptions.merge kullanır. load yöntemi, onSuccessListener geri çağırmasıyla get aracılığıyla eşzamansız belge okuma gerçekleştirir. Firestore, dinleyiciler (SnapshotListener) aracılığıyla cihazlar arasında değişiklikleri otomatik olarak senkronize ederek ek WebSocket altyapısı olmadan gerçek zamanlı uygulamalar sağlar. Bu mimari, sohbetler, etkinlik akışları ve tüm kullanıcı cihazlarında anlık veri güncellemesi gerektiren diğer özelliklerin geliştirilmesini basitleştirir.
Sıkça Sorulan Sorular
Firebase, mobil ve web uygulamaları için bir dizi bulut hizmeti sunan Google platformudur. Sunucuları yönetmeden hızlı backend oluşturma, analitik, kullanıcı kimlik doğrulama, push bildirimleri ve uygulama performansı ile çökmeleri izleme için kullanılır.
Firebase, sınırlamalarla birlikte ücretsiz bir Spark planı sunar: Firestore'a 50.000'e kadar eşzamanlı bağlantı, 10 GB depolama ve aylık 10 GB indirme. Çoğu startup ve küçük proje için Spark, lansman ve test aşamasında ihtiyaçları tamamen karşılar.
Firebase iki veritabanı sunar: Cloud Firestore (önerilen) — çevrimdışı destek ve karmaşık sorgularla NoSQL belge veritabanı ve Realtime Database — sınırlı sorgu ve ölçekleme desteğiyle gerçek zamanlı veriler için JSON ağacı.
Firebase Analytics, kullanıcı davranışı hakkında sınırsız olay toplar. Veriler otomatik olarak Crashlytics, Cloud Messaging ve Google Ads ile entegre edilir. SQL kullanarak özel raporlar oluşturmak için BigQuery'ye verilebilir.
Firebase, Android, iOS, Web, Flutter, Unity ve C++'ı destekler. SDK'lar Kotlin, Swift, JavaScript, Dart ve C++ için mevcuttur. Platform, tüm platformlarda aynı hizmetleri kullanmanıza olanak tanıyarak çapraz platform geliştirmeyi ve proje bakımını basitleştirir.
Özet
Anahtar teslim bir mobil uygulama geliştireceğiz
IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.
Ayrıca okuyun