FireBase Nedir? Özellikleri Nelerdir?

Kübra Kozmaç Gülsever
8 min readJan 11, 2021

--

FIREBASE NEDİR?

Firebase tanım olarak; geliştiricilerin yüksek kaliteli uygulamalar oluşturmasına yardımcı olmak için tasarlanmış araç ve altyapıya sahip bir mobil ve web uygulama platformudur. Geliştiricilerin ihtiyaçlarını karşılayacak, birbiriyle birleştirip eşleştirebilecekleri tamamlayıcı özelliklerden oluşur.

Firebase’in geliştirildiği ilk yer 2011 yılında Andrew Lee ve James Tamplin tarafından kurulan ENVOLVE adlı şirkettir.

Firebase ilk olarak; geliştiricilerin, verileri birden çok işlemcide depolamasına ve senkronize etmesine olanak tanıyan bir API sağlayan gerçek zamanlı bir veritabanı olarak geliştirildi. Daha sonra2014 yılında Google tarafından satın alınmasıyla birlikte Mayıs 2016 dan itibaren Firebase önümüze önemli sayıda yeni özellikle birlikte çıkmış oldu.

Firebase geliştiricilere Uygulama Oluşturma-Yayınlama-Etkileşim anlamında çeşitli özellikler sunmaktadır. Şimdi bunları inceleyeceğiz:

- Cloud Firestore

Cloud Firestore, Firebase ve Google Cloud’dan mobil, web ve sunucu geliştirme için esnek, ölçeklenebilir bir veritabanıdır. Firebase Realtime Database gibi, verileri gerçek zamanlı dinleyiciler aracılığıyla istemci uygulamalarında senkronize halde tutar ve mobil ve web için çevrimdışı destek sunar, böylece geliştiricilere ağ gecikmesinden veya İnternet bağlantısından bağımsız olarak çalışan duyarlı uygulamalar geliştirebilme imkanı sunar. Cloud Firestore, Cloud Functions dahil diğer Firebase ve Google Cloud ürünleriyle de sorunsuz entegrasyon sunar.

- Firebase Authentication (Doğrulama)

Firebase Authentication, uygulamalarda kullanıcıların kimliğini doğrulamak için arka uç hizmetleri, kullanımı kolay SDK’lar ve hazır kullanıcı arayüzü kitaplıkları sağlar. Parolalar, telefon numaraları, Google, Facebook ve Twitter gibi popüler birleşik kimlik sağlayıcıları ve daha fazlasını kullanarak kimlik doğrulamayı destekler.

Firebase Authentication, diğer Firebase hizmetleriyle sıkı bir şekilde entegre olur ve OAuth 2.0 ve OpenID Connect gibi endüstri standartlarından yararlanır, böylece özel arka ucuyla kolayca entegre edilebilir.

- FireBase Realtime DataBase (Gerçek Zamanlı Veritabanı)

Firebase Realtime Database, bulutta barındırılan bir veritabanıdır. Veriler JSON olarak depolanır ve bağlı her istemciye gerçek zamanlı olarak senkronize edilir. İOS, Android ve JavaScript SDK’larla platformlar arası uygulamalar oluşturulduğunda, tüm müşteriler bir Gerçek Zamanlı Veritabanı örneğini paylaşır ve en yeni verilerle otomatik olarak güncellemeleri alır.

- FireBase Makine Öğrenimi

Firebase Makine Öğrenimi, Google’ın makine öğrenimi uzmanlığını güçlü ancak kullanımı kolay bir pakette Android ve iOS uygulamalarına getiren bir mobil SDK’dır. Makine öğrenimi konusunda deneyimli olunmasa da, gereken işlevsellik yalnızca birkaç satır kodla uygulanabilir. Öte yandan, deneyimli bir makine öğrenimi geliştiriciyseniz Firebase Makine Öğrenimi, mobil uygulamalarınızda özel TensorFlow Lite modellerinizi kullanmanıza yardımcı olan kullanışlı API’ler sağlar.

- FireBase Cloud Storage (Bulut Depolama)

Firebase için Cloud Storage, Google ölçeği için oluşturulmuş güçlü, basit ve uygun maliyetli bir nesne depolama hizmetidir. Cloud Storage için Firebase SDK’ları, ağ kalitesinden bağımsız olarak Firebase uygulamaları için dosya yükleme ve indirme işlemlerine Google güvenliği ekler. Görüntü, ses, video veya diğer kullanıcı tarafından oluşturulan içeriği depolamak için SDK’lar kullanılır. Sunucuda, aynı dosyalara erişmek için ise Google Cloud Storage’ı (Google Bulut Depolaması) kullanılır.

-Bulut İşlevleri

Firebase için Bulut İşlevleri, Firebase özellikleri ve HTTPS istekleri tarafından tetiklenen olaylara yanıt olarak arka uç kodunu otomatik olarak çalıştırmaya olanak tanıyan sunucusuz bir çerçevedir. JavaScript veya TypeScript kodları Google’ın bulutunda depolanır ve yönetilen bir ortamda çalışır. Geliştiricilerin kendi sunucularını yönetmesine ve ölçeklendirmesine gerek yoktur.

-Barındırma (Hosting)

Firebase Hosting, geliştiriciler için üretim düzeyinde web içeriği barındırmadır. Tek bir komutla, web uygulamaları hızla dağıtılabilir ve hem statik hem de dinamik içeriği global bir CDN’ye (içerik dağıtım ağı) sunulabilir.

-Firebase Crashlytics

Firebase Crashlytics, uygulama kalitesini aşındıran kararlılık sorunlarının izlenmesine, önceliklendirilmesine ve düzeltilmesine yardımcı olan hafif, gerçek zamanlı bir kilitlenme raporlayıcısıdır. Crashlytics, çökmeleri akıllıca gruplandırarak ve bunlara yol açan durumları vurgulayarak sorun giderme süresinden tasarruf sağlar.

Yine Crashlytics belirli bir çökmenin birçok kullanıcıyı etkileyip etkilemediğini belirler. Bir sorunun ciddiyeti aniden arttığında uyarılar verir. Hangi kod satırlarının çökmelere neden olduğunu gösterir.

-Firebase Test Laboratuvarı

Firebase Test Lab, bulut tabanlı bir uygulama testi altyapısıdır. Tek bir işlemle Android veya iOS uygulamaları çok çeşitli cihazlar ve cihaz yapılandırmaları üzerinde test edilebilir ve sonuçlar (günlükler, videolar ve ekran görüntüleri dahil) Firebase konsolunda görüntülenebilir.

-Firebase Uygulama dağıtımı

Firebase Uygulama Dağıtımı, uygulamaların güvenilir test kullanıcılarına sorunsuz bir şekilde dağıtılmasını sağlar. Uygulamalar test kullanıcılarının cihazlarına hızlı bir şekilde aktarılarak daha erken ve sık geri bildirim alınması sağlanır.

-FireBase Performance Monitoring (Performans İzleme)

Firebase Performance Monitoring, geliştirilen iOS, Android ve web uygulamalarının performans özellikleri hakkında fikir edinilmesine yardımcı olan bir hizmettir.

Uygulamalardan performans verilerini toplamak için Performance Monitoring SDK kullanılır, ardından bu veriler Firebase konsolunda incelenip analiz edilebilir. Performans İzleme, uygulamaların performansının nerede ve ne zaman geliştirilebileceğinin anlaşılmasına yardımcı olur, böylece bu bilgiler performans sorunlarını düzeltmek için kullanılabilir.

-FireBase Remote Config (Uzak Yapılandırma)

Firebase Remote Config, kullanıcıların bir uygulama güncellemesi indirmesini gerektirmeden uygulamanın davranışının ve görünümünün değiştirilmesine olanak tanıyan bir bulut hizmetidir. Remote Config kullanılırken, uygulamanın davranışını ve görünümünü kontrol eden uygulama içi varsayılan değerler oluşturulur. Ardından, tüm uygulama kullanıcıları veya kullanıcı tabanının segmentleri için uygulama içi varsayılan değerleri geçersiz kılmak için Firebase konsolu veya Remote Config arka uç API’leri kullanılır.

-Google Analytics

Analytics, Firebase özellikleriyle entegre olur ve geliştiricilere Firebase SDK’yı kullanarak tanımlayabilecekleri 500'e kadar farklı etkinlik için sınırsız raporlama sağlar. Analytics raporları, kullanıcıların nasıl davrandığını net bir şekilde anlaşılmasına yardımcı olur, bu da uygulama pazarlaması ve performans optimizasyonları konusunda bilinçli kararlar alınmasını sağlar.

-FireBase Predictions (Tahminler)

Firebase Predictions, kullanıcıların tahmin edilen davranışına göre dinamik kullanıcı segmentleri oluşturmak için geliştiricilerin analiz verilerine makine öğrenimi uygular. Bu tahminler; Firebase Remote Config, Notifications oluşturucu, Firebase Uygulama İçi Mesajlaşma ve A / B Testi ile otomatik olarak kullanılabilir. Ayrıca, daha fazla analiz yapmak veya üçüncü taraf araçlara aktarmak için uygulamanın tahmin verileri BigQuery’ye aktarılabilir.

Tek seferlik mesajlar veya yinelenen kampanyalar göndermek için Notifications oluşturucusuyla birlikte Predictions da kullanılabilir. Örneğin, uygulamayı kullanmayı bırakacağı tahmin edilen kullanıcılara otomatik olarak bir bildirim gönderilebilir.

-Firebase A / B Testi

Firebase A / B Testi, ürün ve pazarlama deneylerini çalıştırmayı, analiz etmeyi ve ölçeklendirmeyi kolaylaştırarak uygulama deneyiminin optimize edilmesine yardımcı olur. Geliştiricilere, uygulamalarının kullanıcı arayüzünde, özelliklerinde veya etkileşim kampanyalarında yapılan değişiklikleri, bunları geniş çapta kullanıma sunmadan önce temel ölçümlerinde (gelir ve elde tutma gibi) gerçekten harekete geçirip geçirmediklerini görmek için test etme gücü verir.

A / B Testi, FCM ile çalışır, böylece farklı pazarlama mesajları test edilebilir ve Remote Config ile de uygulamadaki değişiklikler test edilebilir.

-FireBase Cloud Messaging (Bulut Mesajlaşma)

Firebase Cloud Messaging (FCM), hiçbir ücret ödemeden güvenilir bir şekilde mesaj gönderilmesine olanak tanıyan, platformlar arası bir mesajlaşma çözümüdür.

FCM’yi kullanarak, bir istemci uygulamasına yeni e-posta veya diğer verilerin senkronize edilebileceği bildirilbilir. Kullanıcıların yeniden etkileşime geçmesi ve elde tutulması için bildirim mesajları gönderilebilinir. Anlık mesajlaşma gibi kullanım durumları için bir mesaj, 4KB’ye kadar yükü bir istemci uygulamasına aktarabilir.

-Uygulama İçi Mesajlaşma

Firebase Uygulama İçi Mesajlaşma, uygulamanın aktif kullanıcılarını temel uygulama özelliklerini kullanmaya teşvik eden hedefli, içeriğe dayalı mesajlar göndererek onların meşgul edilmesine yardımcı olur. Örneğin, kullanıcıların abone olmalarını, video izlemelerini, bir seviyeyi tamamlamalarını veya bir öğe satın almalarını sağlamak için uygulama içi bir mesaj gönderilebilir. Mesajlar kartlar, afişler, modeller veya resimler olarak özelleştirilebilir ve tetikleyiciler kurarak, tam olarak kullanıcılarınıza en çok fayda sağlayacakları zamanda görünmeleri sağlanabilir.

-Firebase Dynamic Links (Dinamik Bağlantılar)

Firebase Dynamic Links, birden çok platformda ve uygulamanın önceden yüklü olup olmadığına bakılmaksızın istenen şekilde çalışan bağlantılardır.

Dinamik Bağlantılar ile, kullanıcılar bağlantıyı açtıkları platform için mevcut en iyi deneyimi yaşarlar. Bir kullanıcı iOS veya Android’de bir Dinamik Bağlantı açarsa, doğrudan yerel uygulamadaki bağlantılı içeriğe yönlendirilebilir. Bir kullanıcı aynı Dinamik Bağlantıyı bir masaüstü tarayıcısında açarsa, web sitesindeki eşdeğer içeriğe götürülebilir.

Ek olarak, Dinamik Bağlantılar uygulama yüklemeleri arasında çalışır: Bir kullanıcı iOS veya Android’de bir Dinamik Bağlantı açarsa ve uygulamayı yüklemediyse, kullanıcıdan yüklemesi istenebilir; ardından, kurulumdan sonra uygulama başlar ve bağlantıya erişebilir.

-Firebase Uzantıları

Firebase Uzantıları, önceden paketlenmiş çözümlerle işlevselliğin geliştirilen uygulamalara hızla dağıtılmasına yardımcı olur.

Bir Firebase Uzantısı yüklendikten sonra, HTTPS isteklerine, Cloud Scheduler olaylarına veya Cloud Firestore veya Firebase Cloud Messaging gibi diğer Firebase ürünlerinden gelen olayları tetiklemeye yanıt olarak belirli bir görevi veya görevler grubunu gerçekleştirir.

Firebase Uygulama Dizine Ekleme

Firebase Uygulama Dizine Ekleme, geliştirilen uygulamayı Google Arama’ya taşır. Kullanıcılar uygulamayı yüklediyse, uygulamayı başlatabilir ve doğrudan aradıkları içeriğe gidebilirler. Uygulama Dizine Ekleme, genel içeriği doğrudan cihazlarında bulmalarına yardımcı olarak uygulama kullanıcılarıyla yeniden bağlantı kurar, hatta ihtiyaç duyduklarını daha hızlı bulmalarına yardımcı olmak için otomatik sorgu tamamlamaları sunar. Kullanıcılar henüz uygulamaya sahip değilse, alakalı sorgular, Arama sonuçlarında uygulama için bir yükleme kartını tetikler.

FİYATLANDIRMA

Şuan için fiyatlandırma aşağıdaki şekildedir. Güncel fiyatlandırmayı öğrenmek için https://firebase.google.com/pricing ziyaret edebilirsiniz.

PROJE OLUŞTURMA

Şimdi sizlerle birlikte “Firebase ortamında proje nasıl oluşturulur ?” konusunu inceleyeceğiz.

Adım1:

https://firebase.google.com/ linkiyle Firebase’in sayfasına erişim sağladıktan sonra Get started butonuna tıklayarak projemizi oluşturmaya başlayabiliriz.

Adım2:

Get Started butonu bizi https://console.firebase.google.com/ adresine yönlendirir. Burada Proje ekle kısmına tıklıyoruz.

Adım3:

Karşımıza çıkan sayfada ilk olarak yapmamız gereken şey projemize isim vermek olmalıdır. Daha sonra devam butonuna basarak ilerleyebiliriz.

Adım4:

Bu kısmı da devam diyerek geçebiliriz.

Adım5:

Burada Yeni bir anlaytics hesabı oluşturabilir ya da varsayılan bir hesapla devam edebilirsiniz. Daha sonra da Proje Oluştur Butonuna basarak bu adımı da tamamlayabiliriz.

Adım6:

Gördüğünüz gibi projemiz oluştu. Bundan sonra Firebase’i uygulamamıza eklemek için İOS, Android, Web ya da Unity seçeneklerinden biriyle devam edebilirsiniz. Ben Android ile devam edeceğim.

Adım7:

Bu adımda Android paket adı ve isteğe bağlı olarak uygulama takma adı girerek “Sonraki” butonuyla devam ediyoruz.

Adım8:

Bu adımda ise yapılandırma dosyasını indiriyoruz ve projemizin Android uygulama modülü kök dizinine ekliyoruz.

Adım9:

Bu adımda yukardaki gibi kodumuza Firebase SDK ekliyoruz ve devam ediyoruz.

Adım10:

Ve her şey hazır. Artık istediğiniz bir Firebase ürününü projenizde kullanabilirsiniz.

--

--