Categories: Tutorial Android

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

Supported:

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.

Layanan Develop
Supported Keterangan
Cloud Messaging Dulu dikenal sebagai Google Cloud Messaging (GSM), Firebase Cloud Messaging (FCM) dapat mengirim dan menerima pesan lintas platform seperti Android, iOS dan web.
Authentication Firebase Auth merupakan layanan sistem otentikasi yang menerapkan client-side code, sehingga user dapat mendaftar/login ke aplikasi. Firebase Auth mendukung email & password, Facebook, Twitter, GitHub, dan Google Sign-In.
Realtime Database (Sekarang ada Firestore, fungsi hampir sama)
Layanan ini menyediakan API yang memungkinkan aplikasi melakukan sinkronasi lintas client serta disimpan di Firebase’s Cloud.

Realtime Database menyediakan library client yang dapat berintegrasi dengan Android, iOS, JavaScript, Java, Objective-C, swift dan Node.js. Pengembang yang menggunakan Realtime Database dapat mengamankan data mereka dengan memakai aturan keamanan pada sisi server.

Realtime Database menggunakan NoSQL database. Di mana data kita disimpan dalam bentuk node.

Storage Storage dapat menyimpan dan menerima konten dari user seperti gambar, audio, video secara langsung dari Firebase Client SDK.
Hosting Hosting di Firebase berisi file static seperti CSS, HTML, JavaScript dan file lain sepanjang tidak berubah secara dinamis (seperti PHP). Layanan tersebut mengirim file lewat Content Delivery Network (CDN) melalui HTTPS dan SSL.
Test Lab Kita dapat menguji aplikasi di berbagai situasi dan kondisi. Test Lab akan menghasilkan laporan secara detail serta screenshots untuk membantu mengidentifikasi bug dari aplikasi kita. Jika anda pernah memakai Amazon Console maka anda tak akan asing dengan Test Lab Firebase.
Crash Reporting Menerima informasi permasalahan setelah aplikasi kita di publish

 

3. Grow

Layanan Grow digunakan ketika produk kita sudah jadi dan telah dipublikasikan.

Layanan Grow Supported Keterangan
Notifications Layanan ini bersifat Gratis. Menungkinkan user tertentu menerima notifikasi (untuk mobile app).
Remote Config Merupakan Layanan Cloud yang mengizinkan pengembang mengubah tingkah laku dan tampilan tanpa perlu user melakukan update. Sehingga ketika sedang ada event tertentu semisal Tahun Baru, kita dapat mengatur konfigurasi aplikasi dari jarak jauh.
App Indexing Semula dikenal dengan Google App Indexing, memberikan trafik pencarian dari Google Search.
Dynamic Links Merupakan Smart URL yang secara dinamis merubah tingkah lalu untuk memberikan pengalaman saat berbeda platform.
Invites Merupakan layanan lintas-platform untuk mengirim email personal dan SMS invitation, on-boarding, serta mengukur dampak dari invitation tersebut.
AdWords Adwords merupakan layanan iklan online oleh Google yang terintegrasi dengan Firebase, memungkinkan pengembang untuk menargetkan user melalui Firebase.

 


4. AdMob

Supported:

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

  1. Tersedia versi Free, sehingga para developer dapat mencoba layanan Firebase tanpa batasan waktu.
  2. Cepat dan responsif
  3. Tanpa SQL, Firebase menggunakan JSON
  4. SDK tersedia untuk Android, iOS, JavaScript, Java, Objective-C, swift dan Node.js
  5. User friendly
  6. Event-oriented
  7. Build-in graphic editor
  8. Powerful API untuk menyimpan dan sinkronasi
  9. API relatif mudah dimengerti
  10. Realtime backend
  11. Memudahkan bagi front-end developer yang kurang mengerti back-end
  12. Dokumentasi & Costumer Support

Kekurangan

  1. Jumlah koneksi node tak ditampilkan (yang mana pada versi Free dibatasi 100)
  2. Format penyimpanan tidak menggunakan SQL, melainkan JSON yang mana akan menyulitkan ketika melakukan migrasi
  3. Karena Firebase tidak memberatkan developer pada server-side, maka konsekuensinya perlu kerja keras menggunakan API dalam kode kita di front-end/client-side
  4. Ketika aplikasi kita menggunakan database terpusat yang dapat di update (write) oleh banyak pengguna, maka akan menjadi overkill
  5. Tak ada fungsi reference ataupun join
  6. Versi Free hanya memberikan 100 koneksi dan 1 GB storage, yang mana kita perlu melakukan upgrade jika pengguna kita bertambah
  7. Kita tak tahu dimana lokasi host data kita
  8. 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.

adminnn

Recent Posts

Cara Menjalankan Aplikasi ke HP Android di Android Studio (USB Debugging)

Pengantar USB Debugging Tutorial berikut akan menjelaskan bagaimana cara menjalankan project yang kita buat di…

2 tahun ago

Cara Mengubah Minyak Sawit Jadi Bahan Bakar Pesawat

Produksi Minyak Sawit/CPO Indonesia Minyak sawit merupakan salah satu komoditi ekspor unggulan Indonesia, hal tersebut…

4 tahun ago

6 Jenis Alat Pengayakan Pada Industri Kimia

Alat/Mesin Pengayakan Pada Industri Kimia Screening atau proses pemisahan adalah proses melewatkan material umpan pada suatu…

4 tahun ago

Fuel Cell Sumber Energi Terbarukan

Apa itu fuel cell? Semakin terbatasnya bahan bakar fosil dan meningkatnya tuntutan lingkungan menjadi lebih…

4 tahun ago

Waspada 10 Malware Berbahaya di PC dan Android

Pengantar Berdasarkan catatan CisSecurity, aktivitas malware terus meningkat hingga 61% pada tahun 2019. Artinya bahwa…

5 tahun ago

Cara Membuat Es Krim Jagung Mudah dan Enak! Tanpa Kulkas

Latar Belakang Setiap desa memiliki potensi bebeda-beda. Desa Binoh memiliki produksi jagung melimpah, akan tetapi…

5 tahun ago