Apa itu Firebase? Manfaatkan Alat dan Infrakstuktur dari Google untuk Developer (Kelebihan & Kekurangan)
Beberapa tahun terakhir, Firebase mulai dikenal di kalangan developer termasuk di Indonesia. Saya di sini akan melakukan sharing apa saja yang dapat kita manfaatkan dari Firebase, serta review kelebihan dan kekurangan dari Firebase sendiri.
#Sejarah
Firebase pertama kali didirikan pada tahun 2011 oleh Andrew Lee dan James Tamplin. Produk yang pertama kali dikembangkan adalah Realtime Database, di mana developer dapat menyimpan dan melakukan sinkronasi data ke banyak user. Kemudian berkembang menjadi layanan penyedia pengembangan aplikasi. Pada Oktober 2014, perusahaan tersebut diakusisi oleh Google. Berbagai fitur terus dikembangkan hingga diperkenalkan pada Mei 2016 di Google I/O.
#Layanan Firebase
Layanan Firebase tidak seperti dulu yang memberikan Trial Plan, sekarang kita dapat memanfaatkan Firebase secara Gratis! Tentunya dengan batasan tertentu. Firebase tersedia dalam tiga opsi, yaitu: SPARK (Free), FLAME ($25 per bulan), dan BLAZE (bayar sesuai pemakaian). Anda dapat membandingkan ketiga opsi tersebut melalui https://firebase.google.com/pricing/. Namun, saya di sini akan membahas tentang layanan yang diberikan oleh Firebase.
1. Analytics
Analytics merupakan inti dari Firebase sendiri yang diberikan secara gratis dan penuh! Kita dapat mengamati tingkah laku pengguna dalam penggunaan aplikasi oleh user dan menilai atribusi dalam satu Dasboard. Simak video berikut untuk lebih jelasnya:
2. Develop
Pada dasarnya, develop digunakan ketika kita sedang mengembangkan sebuah produk.
3. Grow
Layanan Grow digunakan ketika produk kita sudah jadi dan telah dipublikasikan.
4. AdMob
Barangkali hal ini yang paling dinantikan oleh para pengembang. Monetize! Mengais uang dengan menampilkan iklan di produk kita.
#Kelebihan dan Kekurangan Firebase
Setelah kita tahu apa saja layanan yang diberikan oleh Firebase. Saya akan memberikan poin-poin kelebihan dan kekurangan Firebase:
Kelebihan
- Tersedia versi Free, sehingga para developer dapat mencoba layanan Firebase tanpa batasan waktu.
- Cepat dan responsif
- Tanpa SQL, Firebase menggunakan JSON
- SDK tersedia untuk Android, iOS, JavaScript, Java, Objective-C, swift dan Node.js
- User friendly
- 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
- 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
Kesimpulan inti yang dapat diambil adalah Firebase dapat digunakan untuk pengembangan produk pada skala apapun, termasuk memanfaatkan berbagai Layanan Firebase. Namun, akan menjadi tantangan ketika mengembangkan produk pada skala besar. Setiap hal memiliki kelebihan dan kekurangan masing-masing. Tak ada salahnya mempelajari hal baru.
Sekitan tulisan saya untuk pengenalan Firebase.
Selanjutnya, Tutorial Membuat Aplikasi Android dengan Firebase (cooming soon).
Terima kasih.