Firebase Nedir? Nasıl Kullanılır?

FireBase

Firebase servisinin geçmişi alsında James Tamplin ve Andrew Lee tarafından 2011 yılında kurulan Envolve1 şirketine dayanmakta. Geliştiricilerin web sayfalarına API aracılığıyla online chat özelliği kazandırabilmeleri amacıyla kurulan Envolve geliştiriciler tarafından planlanandan farklı bir şekilde (uygulama datalarını gerçek zamanlı olarak kullanıcılarla senkronize bir şekilde paylaşılması gibi) kullanılır. Kurucular bu sebeble 2012 yılında bildiğimiz FireBase’in de temellerinin atıldığı servis ayrımı kararını verirler. 2012 yılından itibaren pek çok gelişmeyi barındıran, mobil ve web uygulama geliştirme platformu olarak konumlandırılan Firebase 2014 yılında Google tarafından satın alınır2.



Satın alma sonrasında Google tarafından pek çok ek özellik eklenen servis küçük ve orta ölçekte uygulama geliştirme ihtiyaçlarının tamamını karşılama iddiasında3. Bu amaçla ücretsiz kullanım (Spark Plan) imkanı da sunan (ek olarak ) servis başlangıç aşaması itibariyle kontrol paneli üzerinden kullanıcı verisi deposuna, kayıt, oturum ve ekran görüntüleme gibi uygulama içi etkinliklerden bildirim iletimine ve testlere platform farkı olmaksızın erişim ve yönetim imkanı sunmakta. Ücretli planlar (Flame Plan ve Blaze Plan) elbette daha kapsamlı yönetim ve ek özellikler sunmakta.

Firebase Platform

Öne çıkan birkaç özelliğe değinmek gerekirse;

  • Uygulama yönetimi,
  • Kullanıcı etkinlikleri,
  • Veri depolama,
  • Bildirim gönderimi.

Firebase bu işlemler çerçevesinde ekstra bir sunucuya ve sunucu tarafında herhangi bir kod yazımına gerek olmaksızın yönetim paneli üzerinden çözüm sağlamakta. Bu amaçla kullanılabilecek özellikler; Realtime Database, Notification ve Remote Config. Diğer yandan Firebase Cloud Messaging (FCM) ile anlık bildirim gönderiminde kullanılan Google Cloud Messaging (GCM)’e de alternatif olan Firebase, veritabanı yapısı içerisinde yer alan tablolar ve SQL yerine root-child olarak verileri JSON (JavaScript Object Notation) formatında tutmakta. Bu yapı ve özellikler itibariyle veritabanında gerçekleşen her değişikliğin anında diğer kullanıcıya iletilmesi mümkün hale gelmektedir. Tüm bu özellikler, kullanım, platformlar ve diğer teknik detaylar için Firebase Documentation4 sayfasını inceleyebilirsiniz.

Firebase Product

Firebase Kullanımı

Firebase kullanımı için pek çok Google servisinde olduğu gibi bir Google kimliğine sahip olmanız gerekmekte. Bu aşamada varsa sahip olduğunuz Google Mail (GMail) hesabınızdan faydalanabilir, Firebase web sayfası üzerinden giriş yaparak kullanıcı paneline ulaşabilirsiniz. Get Started butonunu tıklayarak ya da say üst bölümde yer alan Console bağlantısını tıklayarak ilerlenebilir5.

Artık yeni bir proje oluşturabiliriz. Bir proje uygulama için platformlar arası bir kapsayıcıdır. Bu sayede AndroidiOS ve web uygulamaları arasında VeritabanıKullanıcı Yönetimi ve Uzak Yapılandırma gibi özellikler paylaşılabilir hale gelmektedir.

Proje AdıProje KimliğiKonumlar ve ilgili diğer alanları da uygun şekilde doldurduktan sonra Proje Oluştur butonu ile proje oluşturma sürecini de tamamlamış olmaktayız.

Firebase Console

Bu aşamadan sonra projenin iOS, Andorid ve/veya web uygulamasına entegre edilmesi gerekmektedir. İlgili yönergelere proje sayfasından ulaşılabilir. iOS entegrasyonu için iOS paket kimliği zorunlu olarak gerekmektedir. Ayrıca işteğe bağlı olarak uygulama takma adı ve App Store kimliğini de tanımlayabilirsiniz. Android uygulama entegrasyonu için ise Android paket adı zorunlu alan olarak gereklidir. İsteğe başlı olarak uygulama takma adı ve Dynamic Links,Invites ve Auth’ta Google ile oturum açma veya telefon desteği için SHA-1 karması gerekmektedir. Web uygulaması entegrasyonu için ise ilgili snippet’in web uygulamasına eklenmesi gerekmektedir. Konuyla ilgili olarak Google Analytics mobil uygulama mülkü yazımı inceleyebilirsiniz.

İlgili alanların doldurulması sonrasında yapılandırma dosyasının indirilmesi, Firebase SDK (Software Development Kit)’sının eklenmesi, yükleme işleminin doğrulanması süreçleri gelmekte. Android için Firebase SDK ve diğer detayları Add Firebase to Your Android Project6, iOS için ise [Add irebase to your iOS Project7 sayfaları incelenebilir. Ayrıca Flutter8, Web9 ve Games10 kullanılabilecek diğer seçenekler.

Firebase Dashboard

Hesabımızı oluşturduk, uygulama entegrasyonlarımızı tamamladık. Artık, Firebase uygulama ekranına bir göz atabiliriz.

GeliştirmeKaliteAnalizBüyütme
  • Storage
  • Hosting
  • Functions
  • ML Kit
  • Crachlytics
  • Performance
  • Test Lab
  • Dashboard
  • Events
  • Conversions
  • Audiences
  • Funnels
  • User Properties
  • Latest Release
  • Retention
  • StreamView
  • DebugView
  • Predictions
  • A/B Testing
  • Cloud Messaging
  • In-App Messaging
  • Remote Config
  • Dynamic Links
  • AdMob

Bu başıklardan özellikle öne çıkanlar şunlar;

  • Authentication ile e-posta/şifre, telefon, Google, Play Oyunlar, Facebook, Twitter, GitHub, Anonim oturum açma sağlayıcılarıyla yetkilendirilen alanlar için kullanıcılar sunucu tarafı kodu olmadan doğrulanabilmekte ve yönetilebilmekte.
  • Database, güçlü sorgular ve otomatik ölçeklendirme ile eşzamanlı veritabanı kullanımını mümkün kılmakta. Yeni veritabanı oluşturmak istediğinizde kilitli mod ve test modu olarak 2 seçenekle karşılaşırsınız. Kilitli modda başladığınızda üçüncü taraf tarafından gerçekleştirilecek tüm okuma ve yazma işlemleri reddedilir ve veritabanı gizli tutulur. Test modunda ise veritabanı referansına sahip herkes tarafından okuma ve yazma işlemleri gerçekleştirebilir.
  • Storage ile kullanıcıların oluşturduğu resim, ses ve video gibi içerikler sunucu tarafı kodu olmadan depolanır ve erişilir. Temel kurulumda varsayılan olarak tüm okuma ve yazma işlemlerine izin verilir. Güvenlik amacıyla veri yapısı tamamlandıktan sonra özel verilerin güvenliğini sağlamak için yeni kurallar yazabilirsiniz11.

Örneğin;

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null;
    }
  }
}
  • Hosting özelliği ile web ve mobil web uygulamalarının barındırılması hızlı ve pratik bir şekilde gerçekleştirilebilir. Dosyaların barındırılması sürecinde npm kullanarak Firebase komut satırı araçlarının yüklenmesi gerekir12.
npm install -g firebase-tools

Yorum Gönder

0Yorumlar
Yorum Gönder (0)