Web ve Mobil Uygulamalar için Firebase
2014 yılının Ekim ayında Google tarafından satılan alınan Firebase platformu, mobil ve web geliştiriciler için back-end hizmeti sunan bir cloud(bulut) teknolojisidir. Firebase geliştiricilere, gerçek zamanlı veritabanı(realtime database), kimlik doğrulama(authentication), depolama(storage), hosting, bildirim gönderme gibi birçok hizmeti sağlıyor. Firebase mobil ve web uygulamaları için bütün veriyi bulutta saklayarak, tek bir platformun üzerinden burada bahsettiğimiz hizmetleri bir yazılım geliştiriciler için sunmaktadır.
Firebase’in genel yapısını ve neler sunduğunu aşağıdaki tablodan daha net şekilde görebilirsiniz.
Bu yazıda tek platformdan birçok servisi sunan Firebase’in en çok kullanılan bazı servislerini sizlere aktaracağım.
Authentication: Geliştirici mobil veya web ortamında uygulamasına kaydolan kullanıcının bilgilerini doğrulamak isterse, bu servisi kullanarak kimlik bilgilerini doğrulayabilir.
Görüldüğü üzere uygulamanıza kayıt olan bir kişinin mail adresini, kayıt olduğu tarih, son oturum açma tarihini ve kullanıcı unique ID bilgisini bu servis üzerinden görebiliyoruz. Bu servis e-posta doğrulama, e-posta değiştirme, şifre sıfırlama gibi işlemlerin de yapılmasını sağlamaktadır, Ayrıca authentication servisi ile Google, Facebook, Twitter, Github sosyal medya hesapları ile kullanıcılar uygulamanıza giriş yapabilir.
Database: Firebase bu servis ile kullanıcılara asenkron yapıda çalışan gerçek zamanlı bir NoSql veritabanı hizmeti verir. Veritabanındaki veriye uygulamadan ulaşmak için kimlik doğrulaması gerektirir. Normalde web ortamında veya mobilde veritabanı ile işlem yapmak için bir veritabanı kurmak zorundayız. Oluşturduğumuz uygulamaya göre veritabanına ulaşmak için servisler yazarız, o servisleri sunuculara publish ederiz. Ama Firebase’in database servisi sayesinde basit bir şekilde bir veritabanını uygulamaya dahil edip kullanabiliriz.
Storage: Bu servis ile bilgisayarlarınızda veya sunucularınızda bulunan resim, metin gibi dosyaları saklayabilirsiniz. Kullanıcılar bu dosyaları istediği zaman ‘download’ edip, gerektiği zaman üzerinde güncellemeler yaparak ‘upload’ edebilir. Örneğin uygulamalarınızın ‘Log’ dosyalarını burada tutup anlık olarak uygulamalarınızda oluşan hataları takip edebilirsiniz.
Notification: Oluşturduğunuz mobil uygulamalarda kullanıcılar ile anlık olarak iletişime geçmek istiyorsanız notification servisi ile kullanıcılara anlık olarak bildirim(push notification) gönderebilirsiniz.
Admob: Oluşturdiğiniz bir uygulamadan para kazanmak istiyorsanız, Admob servisini kullanarak uygulamanıza reklam ekleyip para kazanabilirsiniz.
Firebase Analytics: Bu yapı ile anlık olarak etkin kullanıcı sayısı, kullanıcıların günlük etkileşimleri, uygulamanızı kullanan kullanıcıların cihazlarının modelleri, cihazların işletim sistemleri gibi, kullanıcıların demografik yapısı, kullanılan ülkelere kadar birçok bilgiyi anlık olarak görebilirsiniz. En çok kullanılan Firebase servislerinden biridir.
Son olarak Firebase servislerini uygulamanıza nasıl dahil edeceğimize bakalım.
İlk olarak Google hesabınız ile https://firebase.google.com adresinden Firebase’de oturum açmanız gerekiyor. Ekranda sağ üst köşede bulunan Konsola Git tuşuna bastığınızda https://console.firebase.google.com adresine yönleneceksiniz. Gelen ekranda Proje Ekle linkine tıkladığınızda ise sizden bir proje ismi ve ülke seçimi istenecektir. Bu bilgileri girdikten sonra sizi projeniz için özel olan kullanacağınız ekrana yönlendirir(aşağıdaki resimde görünmekte). Burada yapmanız gereken ilk işlem projenize(iOS, Android veya Web uygulaması olmasına göre) Firebase’i eklemek olacaktır. Resimde bulunan iOS, Android veya Web’den birine tıklayarak Firebase’i projenize dahil etmeniz gerekecek.
Projenizi Firebase’e dahil ettikten sonra kullanmak istediğiniz Firebase servisi hakkında daha detaylı bilgi almak için ise https://firebase.google.com/docs/ adresini ziyaret edebilirsiniz. Dokümantasyonu oldukça sade ve anlaşılır olduğunu söylemek lazım.
Son olarak Firebase’in fiyatlandırmasından bahsedeyim. Başlangıçta ücretsiz, basit kullanım için bir ücret ödemenize gerek yok. Eğer büyük bir uygulama geliştirirseniz kullan/öde mantığına göre ücretlendirmesi var. Detaylı bilgi için https://firebase.google.com/pricing/ adresini inceleyebilirsiniz.