Firebase ile uygulama geliştirme

Sunucu kurmadan hızlı bir mobil arka uç: SoruVerse, Rigel ve LydiaVault’ta Firebase kullanıyoruz.

Firebase ile kimlik doğrulama, veritabanı, bildirim ve çökme raporlarını kuruyoruz. SoruVerse, Rigel ve LydiaVault’ta kullanıyoruz; yetmediği yeri de söylüyoruz.

Son güncelleme:

Bu teknolojiyle geliştirdiklerimiz

Hepsi yayında; mağaza sayfalarına ve ayrıntılara Ürünler sayfasından ulaşabilirsiniz.

SoruVerse

Kampüs soru-cevap ve topluluk uygulaması

Kimlik doğrulama, Firestore’da anlık mesajlaşma ve Cloud Functions; dosyalar Cloudflare R2’de, kısa süreli imzalı bağlantıyla açılıyor.

Ürünü incele

Rigel

Yapay zekâ video uygulaması

React Native Firebase ile Google ve Apple girişi, bildirimler, Analytics, Crashlytics ve Remote Config; arka uç Firebase kimlik jetonunu doğruluyor.

Ürünü incele

LydiaVault

Yapay zekâ bütçe koçu

Bildirimler, Analytics ve Crashlytics; Remote Config ile karşılama akışındaki ödeme ve giriş ekranları güncelleme yayınlamadan açılıp kapanıyor.

Ürünü incele

Hippotenus

Eğitim kurumları platformu

Web panelinde Google ve Apple ile giriş Firebase Authentication üzerinden; kullanıcı kayıtları ve tüm veri kendi PostgreSQL veritabanımızda.

Ürünü incele

Firebase ne işe yarar, ne zaman doğru seçim

Firebase, Google’ın mobil ve web uygulamaları için hazır arka uç hizmetleri: kimlik doğrulama, Firestore veritabanı, dosya depolama, sunucusuz fonksiyonlar, push bildirimleri (Cloud Messaging), kullanım analizi, çökme raporları ve uzaktan yapılandırma (Remote Config). Bunların hepsi sunucu kurmadan ve yönetmeden kullanılabildiği için yeni bir uygulamayı ilk sürüme hızlı taşır.

Firebase’in iyi oturduğu durumlar

  • İlk sürümü sunucu kurup yönetmeden yayına çıkarmak istiyorsunuz
  • Sohbet ya da okunmamış mesaj sayacı gibi anında güncellenmesi gereken ekranlarınız var
  • Mağazaya çıktıktan sonra uygulamayı çökme raporları ve kullanım verisiyle izlemek istiyorsunuz
  • Bazı ekranları ya da teklifleri uygulama güncellemesi yayınlamadan açıp kapatmak istiyorsunuz

Firebase’i tek başına önermeyeceğimiz durumlar

  • Kayıtlar arasında çok sayıda ilişki var ve bunlardan rapor çıkacak (öğrenci, sınıf, sınav, ödeme gibi): burada PostgreSQL’i öneriyoruz
  • Verinin kendi sunucunuzda durması şart: Firebase, Google’ın yönettiği bir hizmet
  • Maliyetin okuma ve yazma sayısına göre değil, sabit bir sunucu bedeline göre öngörülebilir olması önemli

Firebase’in hangi parçasını nerede kullanıyoruz

Firebase tek parça değil; her üründe yalnızca ihtiyaç duyulan modülleri kuruyoruz. SoruVerse’te Firebase’in web SDK’sını Expo ile, Rigel ve LydiaVault’ta ise React Native Firebase kütüphanesini kullanıyoruz.

ModülNe yapıyorNerede kullanıyoruz
AuthenticationE-posta ve şifre, telefon doğrulaması, Google ve Apple ile girişSoruVerse, Rigel, Hippotenus (web)
Cloud FirestoreBelge tabanlı veritabanı; ekranlar değişikliği anında görürSoruVerse
Cloud FunctionsSunucu kodu: veri değişince çalışan tetikleyiciler ve uygulamadan çağrılan fonksiyonlarSoruVerse
Cloud MessagingPush bildirimleriRigel, LydiaVault
Analytics ve CrashlyticsKullanım olayları ve çökme raporlarıRigel, LydiaVault
Remote ConfigGüncelleme yayınlamadan ayar ve akış değiştirmeRigel, LydiaVault

Ürünlerde nasıl kurduk

SoruVerse’te sohbet listesi ve okunmamış mesaj sayacı Firestore’u dinliyor; yeni mesaj geldiğinde ekran kendiliğinden güncelleniyor. Paylaşılan bir içerik onaylandığında çalışan bir Cloud Function, içeriğin sahibine ödül puanı yazıyor; puan yalnızca onaysız durumdan onaylıya geçişte veriliyor. Ders dosyaları Cloudflare R2’de duruyor: uygulama bir dosyayı açmak istediğinde çağrılabilir bir fonksiyondan kısa süreli, imzalı bir bağlantı istiyor, fonksiyon da giriş yapmamış kullanıcıyı reddediyor.

Rigel ve LydiaVault açılışta Remote Config’ten bir ayar paketi okuyor. LydiaVault bununla platforma göre en düşük desteklenen sürümü, karşılama akışındaki ödeme ekranının ve giriş ekranının gösterilip gösterilmeyeceğini belirliyor; Rigel de karşılama akışının hangi sürümünün açılacağını ve ödeme ekranındaki kapatma düğmesini. Böylece bu kararlar mağaza incelemesini beklemeden değişiyor. Bildirimleri iki üründe de arka uç, Firebase Admin SDK ile gönderiyor.

React Native Firebase

Firebase’in yerel iOS ve Android SDK’larına React Native’den erişim. Rigel ve LydiaVault’ta kullanıyoruz.

Firebase Admin SDK

Sunucu tarafında kimlik jetonu doğrulama ve bildirim gönderme. Rigel, LydiaVault, Hippotenus ve SoruVerse’in sunucu kodunda kullanıyoruz.

Cloudflare R2

Büyük dosyalar için nesne depolama, imzalı bağlantılarla. SoruVerse’te Cloud Functions ile birlikte kullanıyoruz.

RevenueCat

Abonelikler için; ödeme ekranının karşılama akışında nasıl gösterileceğini Remote Config belirliyor. Rigel ve LydiaVault’ta kullanıyoruz.

Firebase’den ne zaman çıkmalı, ya da hiç tamamen girmemeli

Firebase’i her şey için kullanmak zorunda değilsiniz. Hippotenus’ta Firebase yalnızca Google ve Apple ile girişi sağlıyor: API, Firebase’in verdiği kimlik jetonunu doğrulayıp kendi oturumunu açıyor, kullanıcı kayıtları ve tüm veri kendi PostgreSQL veritabanımızda kalıyor. Rigel’de de kimlik doğrulama, bildirim ve analiz Firebase’de, iş mantığı ise ayrı bir sunucusuz arka uçta. Bir Firebase uygulamasının bu yapıya geçme zamanının geldiğini gösteren işaretler:

  • Bir raporu çıkarmak için birçok koleksiyonu uygulama kodunda birleştiriyorsunuz
  • Okuma ve yazma sayısına bağlı fatura tahmin edilemez hâle geldi
  • Güvenlik kuralları, taşıması gereken iş kuralları yüzünden okunamaz oldu
  • Verinin belirli bir ülkede ya da kendi sunucunuzda durması gerekiyor

Geçiş çoğu zaman bir seferde değil, parça parça yapılır: kimlik doğrulama, bildirimler ve çökme raporları Firebase’de kalırken veri ve iş kuralları kendi API’nize taşınır.

Firebase ile bir proje nasıl ilerliyor

  1. 01

    Ücretsiz keşif görüşmesi

    30 dk

    Uygulamanın kimin için olduğunu, hangi verileri tutacağını ve Firebase’in mi yoksa kendi sunucunuzun mu daha uygun olduğunu konuşuyoruz.

  2. 02

    Yazılı kapsam ve teklif

    Kullanılacak Firebase modüllerini, veri yapısını, kimin hangi veriye erişeceğini ve kabul kriterlerini yazıya döküyoruz.

  3. 03

    Haftalık sürümler

    Her hafta yeni sürümü kendi cihazınızda deniyorsunuz; geri bildiriminiz sonraki haftanın önceliklerini belirliyor.

  4. 04

    Test ve yayın

    Senior QA sürümü yayından önce test ediyor; erişim kuralları da bu testin parçası.

  5. 05

    Yayından sonraki 30 gün

    30 gün

    Bu sürede çıkan hataları ücretsiz düzeltiyoruz; sonrası için aylık bakımla devam edebilirsiniz.

Süre ve bütçe aralıklarını mobil uygulama geliştirme, MVP ve fiyatlar sayfalarımızda yayınlıyoruz; bu sayfadaki her şey aynı rakamlara bağlı.

Firebase hakkında sık sorulanlar

Firebase ücretsiz mi?

Başlangıç için ücretsiz bir kullanım katmanı var; kullanım büyüdükçe okuma, yazma, depolama ve fonksiyon çalışmalarına göre faturalanır, Cloud Functions gibi bazı hizmetler de kullandıkça öde planı gerektirir. Beklenen kullanıma göre maliyeti keşif aşamasında birlikte konuşuyoruz.

Firebase’de verim güvende mi?

Kimin hangi veriye erişeceği Firestore güvenlik kurallarıyla ya da sunucu tarafında kimlik jetonunu doğrulayarak belirlenir. Rigel ve Hippotenus’ta Firebase ile giriş yapan kullanıcıya arka uç, Firebase’in verdiği kimlik jetonunu doğrulamadan oturum açmıyor; SoruVerse’te dosya bağlantısı yalnızca giriş yapmış kullanıcıya veriliyor.

İleride Firebase’den kendi sunucuma geçebilir miyim?

Evet, ve çoğu zaman bir seferde değil parça parça. Hippotenus’taki gibi kimlik doğrulama Firebase’de kalıp veri kendi veritabanınızda durabilir; hangi parçanın ne zaman taşınacağını birlikte planlıyoruz.

Proje bitince elimde ne kalır?

Yazılımı süresiz kullanma lisansı ve kullanım dokümantasyonu. Kaynak kodun size devredilmesini isterseniz bu ek ücretle mümkündür ve teklifte ayrıca belirtilir.

İlgili hizmetler

Mobil uygulamaMVPWeb uygulaması
İletişim

Firebase’in size uyup uymadığını konuşalım

30 dakikalık ücretsiz keşif görüşmesinde uygulamanızın ihtiyaçlarını ve Firebase ile kendi sunucunuz arasındaki tercihi birlikte netleştirelim.