Firebase adalah layanan dari Google yang memberikan kemudahan bagi para developer aplikasi dalam mengembangkan aplikasinya. Firebase alias BaaS (Backend as a Service) merupakan solusi yang ditawarkan oleh Google untuk mempercepat pekerjaan developer sehingga developer bisa fokus dalam mengembangkan aplikasi tanpa memberikan effort yang besar untuk urusan backend. Ada banyak layanan firebase: Firebase Analytics; Firebase Cloud Messaging and Notifications; Firebase Authentication; Firebase Cloud Firestore; Firebase Realtime Database; Firebase Hosting. Kita akan bahas Apa itu Firebase? Pengertian, Jenis-Jenis, dan Fungsi Kegunaannya untuk para developer mobile device.
Firebase Analytics
Contents
Digunakan untuk collecting data dan reporting untuk aplikasi Android maupun iOS. Koleksi data pun bervariasi. Misalkan report untuk pengguna aplikasi di negara Indonesia saja sehingga dapat melihat bagian mana saja dari aplikasi yang paling sering digunakan oleh user. Selain itu, bisa membuat segmentasi user berdasarkan user attribute. User attribute adalah suatu parameter yang bisa kita gunakan sebagai filter yang bertujuan untuk reporting dan notifikasi. Contohnya pada aplikasi online shop. Dengan user attribute, kamu bisa tahu jumlah user yang membeli handphone merk tertentu atau bahkan bisa mencari tahu jam berapa transaksi yang dilakukan user sering terjadi. Tentu aplikasi sangat menarik kalian gunakan untuk mendapatkan perilaku user sehingga dapat meningkatkan user experience.
Firebase Cloud Messaging and Notifications
Aplikasi yang kamu buat membutuhkan koneksi antar server dan client? maka FCM (Firebase Cloud Messaging) adalah solusinya. Firebase cloud messaging mampu menyediakan koneksi yang handal dan tentunya hemat baterai antar server maupun antar device. Sehingga kamu dapat mengirim dan menerima pesan serta notifikasi di Android, iOS, dan web tanpa perlu biaya karena notifikasi ini terintegrasi sepenuhnya dengan Google Analytics for Firebase, sehingga kamu memiliki akses pada interaksi dan tracking konversi secara detaill.
Firebase Authentication
Nggak usah pusing dengan membuat sendiri urusan aplikasi yang membutuhkan login. Firebase Authentication adalah salah satu layanan back-end, fitur Android dan iOS, SDK yang mudah digunakan, dan tampilan interfaces yang siap pakai untuk mengautentikasi pengguna karena menggunakan antarmuka seperti tampilan login email di google. Selain itu dukungan terhadap two factor authentication seperti menggunakan nomor telepon, sandi, serta cross login melalui account selain Google yaitu Facebook, dan sebagainya.
Firebase Cloud Firestore
Aplikasi yang kamu buat harus selalui menyimpan data kedalam database server? Yup Cloud Firestore solusinya karena bersifat fleksibel dan terukur untuk pengembangan perangkat seperti seluler, web, dan server di Firebase dan Google Cloud Platform. Hal ini memungkinkan karen Cloud Firestore merupakan database NoSQL yang dihosting di cloud dan dapat diakses melalui SDK real oleh aplikasi iOS, Android dan web. Cloud Store bekerja di aplikasi user melalui listener realtime dan menawarkan layanan secara offline untuk aplikasi seluler dan web. Dengan begitu, kamu dapat membuat aplikasi yang powerfull, responsif, dan mampu bekerja tanpa bergantung pada latensi koneksi internet.
Firebase Realtime Database
Firebase Cloud Firestore tidak bekerja sendirian karena membutuhkan Firebase Realtime Database dalam bentuk JSON dan disinkronkan secara realtime ke setiap user yang terkoneksi. Hal ini berfungsi memudahkan kamu dalam mengelola suatu database dengan skala yang cukup besar. Ketika kamu membuat aplikasi lintas-platform/multiplatform menggunakan SDK Android, iOS, dan juga JS (JavaScript), semua pengguna akan berbagi sebuah instance Realtime Database dan menerima update-an data secara serentak dan otomatis.
Tidak selalu jaringan internet tersedia tapi tidak perlu kuatir karena kemampuan lain dari Firebase Realtime Database adalah tetap responsif bahkan saat offline karena SDK Firebase Realtime Database menyimpan data langsung ke disk device atau memori lokal. Setelah perangkat terhubung kembali dengan internet, perangkat pengguna (user) akan menerima setiap perubahan yang terjadi.
Firebase Hosting
Adalah layanan hosting konten web yang dapat mengimplementasikan aplikasi web serta menyajikan konten statis maupun dinamis ke CDN (jaringan penayangan konten) global dengan cepat.
Kegunaan dari Firebase Hosting itu sendiri yaitu mampu menayangkan konten melalui koneksi yang begitu aman, mengirimkan konten secara cepat, dan mendukung semua jenis konten untuk di hosting, mulai dari file HTML dan CSS hingga API atau layanan mikro Express.js.
Keunggulan Firebase:
- Adanya versi gratis ( free ). Jadi para developer bisa mencoba menggunakan firebase untuk waktu yang tidak terbatas
- Firebase cepat dan juga responsive
- Firebase ternyata sudah menggunakan JSON jadi kita tidak lagi menggunakan SQL
- Firebase bisa digunakan untuk Android, iOS, Java, Objective-C, Swift, Node.Js, dan JavaScript.
- Firebase user friendly sehingga mudah untuk digunakan
- Firebase memiliki dokumentasi yang lengkap juga customer support yang sigap menjawab permasalahan dari para developer
- Event-oriented
- Build-in graphic editor
- Powerful API untuk menyimpan dan sinkronasi
- API relatif mudah dimengerti
- Realtime backend
- Memudahkan bagi front-end developer yang kurang mengerti back-end
- Dokumentasi & Costumer Support
Kekurangan Firebase:
- Aplikasi yang menggunakan database secara terpusat yang dapat di update oleh banyak user, biasanya akan terjadi overkill
- Data yang ada pada Firebase bukanlah host milik kita, sehingga untuk merecovery akun user akan menjadi mustahil
- Jumlah koneksi node tak ditampilkan (yang mana pada versi Free dibatasi 100)
- Format penyimpanan tidak menggunakan SQL, melainkan JSON yang mana akan menyulitkan ketika melakukan migrasi
- Karena Firebase tidak memberatkan developer pada server-side, maka konsekuensinya perlu kerja keras menggunakan API dalam kode kita di front-end/client-side
- Ketika aplikasi kita menggunakan database terpusat yang dapat di update (write) oleh banyak pengguna, maka akan menjadi overkill
- Tak ada fungsi reference ataupun join
- Versi Free hanya memberikan 100 koneksi dan 1 GB storage, yang mana kita perlu melakukan upgrade jika pengguna kita bertambah
- Kita tak tahu dimana lokasi host data kita
- You don’t own your data. Karena data kita berada dalam host bukan milik kita, akan menjadi mustahil untuk merecovery akun user