Firebase adalah suatu layanan dari google untuk mempermudah para pengembang-pengembang aplikasi untuk mengembangkan aplikasinya. Firebase(BaaS ‘Backend as a Service’) ini merupakan solusi yang ditawarkan oleh Google untuk mempermudah pekerjaan Developer. Dengan adanya Firebase, developer aplikasi bisa fokus mengembangkan aplikasi tanpa harus memberikan effort yang besar untuk urusan backend. Dua fitur menarik dari Firebase adalah Firebase Remote Config dan Firebase Realtime Database. Selain itu juga terdapat fitur pendukung untuk aplikasi yang memerlukan push notification yaitu Firebase Notification Console.

Sejarah

Firebase didirikan oleh James Tamplin dan Andrew Lee pada Tahun 2011. Envolve menyediakan pengembang API yang memungkinkan integrasi fungsi chat online ke situs web mereka. Setelah merilis layanan obrolan, Tamplin dan Lee menemukan bahwa itu digunakan untuk mengirimkan data aplikasi yang bukan pesan obrolan. Pengembang menggunakan Envolve untuk menyinkronkan data aplikasi seperti status game secara real time di seluruh penggunanya. Tamplin dan Lee memutuskan untuk memisahkan sistem obrolan dan arsitektur real-time yang menjalankannya. Mereka mendirikan Firebase sebagai perusahaan terpisah pada bulan April 2012.[1]

Firebase Inc. mengumpulkan dana awal pada bulan Mei 2012. Perusahaan ini kemudian meningkatkan pendanaan Seri A pada Juni 2013.[2] Pada Oktober 2014, Firebase diakuisisi oleh Google.[3] Pada Oktober 2015, Google mengakuisisi Divshot untuk menggabungkannya dengan tim Firebase. Sejak akuisisi, Firebase telah tumbuh di dalam Google dan memperluas layanannya untuk menjadi platform terpadu bagi developer seluler. Firebase sekarang terintegrasi dengan berbagai layanan Google lainnya untuk menawarkan produk dan skala yang lebih luas bagi developer. Pada bulan Januari 2017, Google mengakuisisi Fabric dan Crashlytics dari Twitter untuk bergabung dengan layanan tersebut ke tim Firebase.[4][5] Firebase meluncurkan Cloud Firestore , sebuah Database Dokumen, pada bulan Oktober 2017. [6][7][8][9]

Layanan

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 [[1]] [10].

Fitur Firebase

Firebase Cloud Messaging

Dulu dikenal sebagai Google Cloud Messaging (GCM), Firebase Cloud Messaging (FCM) dapat mengirim dan menerima pesan lintas platform seperti Android, iOS, dan web application,yang pada tahun 2016 dapat digunakan tanpa menggunakan biaya.[11] Firebase Cloud Messaging (FCM), adalah layanan yang diberikan oleh Firebase untuk menggantikan Google Cloud Messaging (GCM). Pihak Google menyarankan untuk aplikasi yang masih menggunakan GCM untuk segera migrasi ke FCM. Fitur-fitur yang diberikan oleh GCM sebenarnya tidak terlalu jauh berbeda dengan GCM. Dengan FCM kita bisa memberikan push notification dan membuat komunikasi dua arah antara device. Teknologi yang digunakan terbagi menjadi dua yaitu:

  • XMPP (Extensible Messaging and Presence Protocol)
  • HTTP (Hypertext Transfer Protocol).

Untuk XMPP harus membangun server XMPP terlebih dahulu, sedangkan untuk HTTP bisa menggunakan console yang disediakan oleh Firebase.[12]

Firebase Authentication

Firebase Authentication merupakan layanan sistem otentikasi yang menerapkan client-side code, sehingga user dapat login ke aplikasi Facebook, GitHub, Twitter dan Google (dan Google Play Games). Selain itu, Firebase termasuk sistem manajemen pengguna dimana pengembang dapat mengaktifkan otentikasi pengguna dengan login email dan kata sandi yang disimpan dengan Firebase.[13] Sebagian besar aplikasi perlu mengetahui identitas pengguna. Dengan mengetahui identitas pengguna, aplikasi dapat menyimpan data pengguna secara aman di cloud dan memberikan pengalaman personal yang sama di setiap perangkat pengguna. Firebase Authentication menyediakan layanan backend, SDK yang mudah digunakan, dan library UI yang siap pakai untuk mengautentikasi pengguna ke aplikasi Anda. Firebase Authentication mendukung autentikasi menggunakan sandi, nomor telepon, penyedia identitas gabungan yang populer, seperti Google, Facebook, dan Twitter, dan lain-lain.[14]

Firebase Remote Config

Firebase Remote Config adalah fitur yang memungkinkan digunakan untuk melakukan perubahan konfigurasi di dalam aplikasi Android / iOS, tanpa harus melakukan update aplikasi di Play Store / App Store. Cara kerja dari Remote Config adalah aplikasi menyimpan terlebih dahulu file XML yang berisi parameter-parameter yang nilainya akan bisa diganti melalui console Firebase. Kemudian objek firebase di dalam aplikasi akan melakukan request data dari server, kemudian me’load data-data tersebut. Secara default, objek Firebase di dalam aplikasi akan melakukan request 12 jam / 1x, tetapi hal tersebut bisa diubah sesuai yang diinginkan. Salah satu catatan dari Google adalah tidak boleh menggunakan Remote Config untuk melakukan perubahan yang krusial, seperti mengubah permission yang dibutuhkan oleh aplikasi.[15]

Firebase Realtime Database

Firebase menyediakan realtime database dan backend sebagai layanan. Layanan ini menyediakan pengembang aplikasi API yang memungkinkan data aplikasi disinkronkan di seluruh klien dan disimpan di Firebase cloud .[16][17] Perusahaan menyediakan pustaka klien yang memungkinkan integrasi denganAndroid, iOS, JavaScript, Java, Objective-C, Swift dan Node.js aplikasi. Database juga dapat diakses melalui REST API dan mengikat untuk beberapa JavaScript frameworks seperti AngularJS, React, Ember.js dan Backbone.js.[18] The REST API menggunakan Server-Mengirim Peristiwa protokol, yang merupakan API untuk membuat koneksi HTTP untuk menerima pemberitahuan push dari server. Pengembang yang menggunakan basis data waktu nyata dapat mengamankan data mereka dengan menggunakan aturan keamanan yang diberlakukan oleh sisi server perusahaan.[19] Cloud Firestore yang merupakan generasi mendatang Firebase dari Realtime Database dirilis untuk penggunaan beta. Firebase Realtime Database merupakan database yang di-host di cloud. Data disimpan sebagai JSON dan disinkronkan secara realtime ke setiap klien yang terhubung. Ketika Anda membuat aplikasi lintas-platform dengan SDK Android, iOS, dan JavaScript, semua klien akan berbagi sebuah instance Realtime Database dan menerima update data terbaru secara otomatis.[20]

Firebase Storage

Firebase Storage dirancang untuk developer aplikasi yang perlu menyimpan dan menampilkan konten buatan pengguna, seperti foto atau video dan menambahkan keamanan Google pada upload dan download file untuk aplikasi Firebase Anda, bagaimana pun kualitas jaringannya. Pengembang dapat menggunakannya untuk menyimpan gambar, audio, video, atau konten lain yang dibuat pengguna secara langsung dari Firebase Client SDK. Firebase Storage didukung oleh Google Cloud Storage.[21]

Firebase Hosting

Firebase Hosting menyediakan hosting yang cepat dan aman untuk aplikasi web serta konten statis dan dinamis.[22] Firebase Hosting adalah [[layanan hosting web] statis dan dinamis yang diluncurkan pada 13 Mei 2014. Mendukung hosting file statis seperti CSS, HTML, JavaScript dan file lainnya, serta dukungan melalui Cloud Functions.[23] Layanan ini mengirimkan file melalui content delivery network (CDN) melalui enkripsi HTTP Secure (HTTPS) dan Secure Sockets Layer (SSL). Firebase bermitra dengan Fastly, CDN, untuk menyediakan CDN yang mendukung Firebase Hosting. Perusahaan menyatakan bahwa Firebase Hosting tumbuh dari permintaan pelanggan, developer menggunakan Firebase untuk database realtime tetapi membutuhkan tempat untuk meng-host konten mereka.[24][25]

Dua fitur yang menarik adalah Firebase Remote Config dan Firebase Real Time Database. Secara sederhananya, Remote Config adalah fitur yang memungkinkan developer mengganti / mengubah beberapa konfigurasi aplikasi Android / iOS tanpa harus memberikan update aplikasi via Play Store / App Store. Salah satu konfigurasi yang bisa dimanipulasi adalah seperti warna / tema aplikasi.

Sedangkan Firebase Real Time Database adalah fitur yang memberikan sebuah NoSQL database yang bisa diakses secara Real Time oleh pengguna aplikasi. Dan hebatnya adalah aplikasi bisa menyimpan data secara lokal ketika tidak ada akses internet, kemudian melakukan sync data segera setelah mendapatkan akses internet.[26]

Stabilitas

Crashlytics

Crash Reporting membuat laporan rinci tentang kesalahan dalam aplikasi. Kesalahan dikelompokkan ke dalam cluster tumpukan pelacakan yang serupa dan diurutkan berdasarkan tingkat keparahan dampaknya pada pengguna aplikasi. Selain laporan otomatis, pengembang dapat membuat log peristiwa khusus untuk membantu menangkap langkah-langkah yang mengarah ke kerusakan.[27] Sebelum mendapatkan Crashlytics, Firebase menggunakan Firebase Crash Reporting sendiri. Firebase Crash Reporting merupakan layanan yang diberikan oleh Firebase untuk keperluan merekam setiap exception yang terjadi pada aplikasi. Report yang diberikan cukup detail dengan beberapa filter seperti yang digunakan pada Analytics.[28] Crash reporting ini juga dibagi menjadi dua bagian :

  • Non Fatal exception, untuk exception yang tidak berdampak fatal (bisa membuat custom exception).
  • Fatal exception, untuk exception yang fatal (aplikasi crash).

Firebase Performance

Firebase Performance memberikan wawasan tentang kinerja aplikasi dan latensi yang dialami pengguna aplikasi. Firebase Performance adalah layanan yang membantu memperoleh data tentang karakteristik performa aplikasi iOS dan Android. Gunakan Firebase Performance SDK untuk mengumpulkan data performa aplikasi, kemudian tinjau dan analisis data tersebut di Firebase console. Dengan Firebase Performance ,dapat memahami dimana dan kapan performa aplikasi dapat ditingkatkan, sehingga dapat menggunakan informasi tersebut untuk memperbaiki masalah performa. [29]

Firebase Test Lab untuk Android dan iOS

Firebase Test Lab untuk Android dan iOS menyediakan infrastruktur berbasis cloud untuk menguji aplikasi Android dan iOS. Dengan satu operasi, developer dapat memulai pengujian aplikasi mereka di berbagai macam perangkat dan konfigurasi perangkat. Hasil pengujian — termasuk log, video, dan tangkapan layar — tersedia dalam proyek di Firebase console. Bahkan jika developer tidak menulis kode pengujian apa pun untuk aplikasi mereka, Test Lab dapat menjalankan aplikasi secara otomatis, mencari gangguan. Test Lab untuk iOS saat ini dalam versi beta.[30]

Grow

Firebase Notifications

Firebase Notifications adalah layanan yang memungkinkan pemberitahuan untuk pengguna yang ditargetkan oleh developer aplikasi seluler tanpa biaya.[31]

Firebase App Indexing

Firebase App Indexing digunakan untuk memasukkan aplikasi ke Google Search. Jika pengguna sudah menginstal aplikasi , pengguna dapat meluncurkannya dan langsung membuka konten yang pengguna cari. Firebase App Indexing berinteraksi kembali dengan pengguna aplikasi dengan cara membantu pengguna menemukan konten publik dan pribadi, langsung di perangkat pengguna. Bahkan, Firebase App Indexing menawarkan pelengkapan otomatis kueri untuk membantu pengguna menemukan sesuatu yang mereka butuhkan dengan lebih cepat. Jika pengguna belum memiliki aplikasi tersebut, kueri yang relevan akan memicu untuk install aplikasi di hasil Penelusuran. Firebase App Indexing, sebelumnya yaitu Pengindeksan Google Aplikasi, mendapatkan aplikasi ke Google Search. Penambahan App Indexing untuk mempromosikan kedua jenis hasil aplikasi dalam Google Search dan juga menyediakan kelengkapan otomatis kueri.[32]

Firebase Dynamic Links adalah URL cerdas yang secara dinamis mengubah perilaku untuk memberikan pengalaman terbaik di berbagai platform (situs web / iOS / Android) serta tautan dalam ke APP.[33] Dynamic Links berfungsi di semua penginstalan aplikasi: jika pengguna membuka Dynamic Links di iOS atau Android dan aplikasi Anda belum diinstal, pengguna akan diminta untuk menginstal aplikasi terlebih dahulu. Setelah diinstal, aplikasi akan mulai berjalan dan dapat mengakses link. [34]

Firebase Invites

Firebase Invites adalah solusi siap pakai untuk berbagi aplikasi melalui email atau SMS. Untuk menyesuaikan pengalaman pengguna invites atau untuk menghasilkan link secara terprogram, gunakan Firebase Dynamic Links.[35]

Adwords

Adwords adalah layanan periklanan online Google yang terintegrasi, untuk memungkinkan developer menargetkan pengguna menggunakan Firebase Analytics

Admob

Admob adalah produk Google yang terintegrasi dengan pengguna Firebase.

Proyek Open source

Firepad

Firepad adalah open source kolaboratif editor real-time . Dirilis di bawah Lisensi MIT, Firepad digunakan oleh beberapa editor, termasuk Atlassian Stash Realtime Editor dan Koding.[36][37]

Firechat

Firechat adalah aplikasi obrolan realtime open source. Ini dirilis di bawah Lisensi MIT.[38]

GeoFire

GeoFire adalah sumber pustaka terbuka yang memanfaatkan Firebase Realtime Database , yang memungkinkan developer aplikasi menyimpan dan menanyakan serangkaian kunci berdasarkan lokasi geografis.[39]

  1. ^ Melendez, Steven (May 27, 2014). "Terkadang Anda Hanya Mempunyai Satu Harapan Dari Sesuatu yang Besar". Fast Company. Diakses tanggal Oktober 15, 2018. 
  2. ^ Darrow, Barb (June 6, 2013). "Firebase mendapat $ 5,6 juta untuk meluncurkan produk berbayarnya dan menjalankan basisnya". Gigaom. Diakses tanggal Oktober 15, 2018. 
  3. ^ Tamplin, James. "Firebase Bergabung dengan Google!". Firebase, Inc. Diakses tanggal oktober 15, 2018. 
  4. ^ "Fabric Bergabung dengan Google". January 18, 2017. Diakses tanggal Oktober 15, 2018. 
  5. ^ "Menyambut Fabric ke Google". January 18, 2017. Diakses tanggal Oktober 11, 2018. 
  6. ^ "Google meluncurkan Cloud Firestore, basis data dokumen baru untuk pengembang aplikasi". Diakses tanggal Oktober 15, 2018. 
  7. ^ "Google Mengumumkan Firestore, Basis Data Dokumen". Diakses tanggal Oktober 11, 2018. 
  8. ^ "Firebase meluncurkan Cloud Firestore, basis data dokumen baru yang menampilkan sinkronisasi waktu nyata, skala tanpa kerumitan, dan dukungan offline". Diakses tanggal Oktober 15, 2018. 
  9. ^ "Cloud Firestore Google Memungkinkan Anda Fokus Pada Pengembangan Aplikasi". Diakses tanggal Oktober 15, 2018. 
  10. ^ https://firebase.google.com/pricing/. Diakses tanggal Oktober 16, 2018.  Tidak memiliki atau tanpa |title= (bantuan)
  11. ^ "Firebase Cloud Messaging". Diakses tanggal Oktober 16, 2018. 
  12. ^ "Firebase Cloud Messaging". Google Developers. Diakses tanggal Oktober 16, 2018. 
  13. ^ "Firebase Authentication". Diakses tanggal Oktober 16, 2018. 
  14. ^ "Firebase Authentication". Diakses tanggal Oktober 16, 2018. 
  15. ^ "Firebase Remote Config". Google Developers. Diakses tanggal Oktober 16, 2018. 
  16. ^ Farr, Christina. "Firebase scalable backend membuatnya '10 kali lebih mudah 'untuk membuat aplikasi". VentureBeat. Diakses tanggal Oktober 16, 2018. 
  17. ^ Marshall, Matt. "Firebase sedang membangun Dropbox untuk developer". VentureBeat. Diakses tanggal Oktober 16, 2018. 
  18. ^ "Firebase Realtime Database". Firebase, Inc. Diakses tanggal Oktober 16, 2018. 
  19. ^ Darrow, Barb. "Firebase mengamankan layanan back-end real-time-nya". Gigaom. Diakses tanggal Oktober 16, 2018. 
  20. ^ https://firebase.google.com/docs/database/. Diakses tanggal Oktober 16, 2018.  Tidak memiliki atau tanpa |title= (bantuan)
  21. ^ "Firebase Storage". Google Developers (dalam bahasa Inggris). Diakses tanggal Oktober 16, 2018. 
  22. ^ "Firebase Hosting". Google Developers. Diakses tanggal Oktober 16, 2018. 
  23. ^ dynamic Node.js support through Cloud Functions
  24. ^ Lardinois, Frederic. "Firebase Adds Web Hosting To Its Database Platform". TechCrunch. Diakses tanggal Oktober 16, 2018. 
  25. ^ Novet, Jordan (May 13, 2014). "Firebase adds hosting to make app development even easier". VentureBeat. Diakses tanggal Oktober 16, 2018. 
  26. ^ https://coolnetkid.wordpress.com/2016/09/08/android-apa-itu-firebase/. Diakses tanggal Oktober 16, 2018.  Tidak memiliki atau tanpa |title= (bantuan)
  27. ^ "Firebase Crash Reporting". Google Developers. Diakses tanggal Oktober 16, 2018. 
  28. ^ "Firebase Crash Reporting". Google Developers. Diakses tanggal Oktober 16, 2018. 
  29. ^ "Firebase Performance". Google Developers. Diakses tanggal Oktober 16, 2018. 
  30. ^ "Firebase Test Lab untuk Android dan iOS". Google Developers. Diakses tanggal Oktober 16, 2018. 
  31. ^ "Firebase Notifications". Google Developers. Diakses tanggal oktober 16,2018. 
  32. ^ "Firebase App Indexing". Google Developers. Diakses tanggal oktober 16,2018. 
  33. ^ "Firebase Dynamic Links". Google Developers (dalam bahasa Inggris). Diakses tanggal oktober 16,2018. 
  34. ^ "Firebase Dynamic Links". Google Developers. Diakses tanggal oktober 16,2018. 
  35. ^ "Firebase Invites". Google Developers. Diakses tanggal oktober 16,2018. 
  36. ^ Metz, Cade (April 9, 2013). "Cara Membangun Google Docs Anda Sendiri (Tanpa Google)". Wired. Diakses tanggal June 12, 2014. 
  37. ^ "Firepad - Sebuah kode kolaboratif dan editor teks open source". Firebase, Inc. Diakses tanggal Oktober 16, 2018. 
  38. ^ "Firechat - obrolan realtime sumber terbuka yang dibuat di Firebase". Firebase, Inc. Diakses tanggal Oktober 16, 2018. 
  39. ^ "GeoFire - Kueri lokasi waktu nyata dengan Firebase". Diakses tanggal Oktober 16, 2018.