Tahun lalu, kami meluncurkan versi beta Cloud Functions for Firebase untuk membantu Anda membangun fungsionalitas backend bagi aplikasi tanpa harus khawatir mengelola server. Fungsi ini memungkinkan Anda menulis dalam JavaScript atau Typescript, menerapkan ke infrastruktur Cloud Google, dan menjalankannya sebagai respons terhadap event aplikasi. Hari ini, kami gembira bisa merilis Cloud Functions for Firebase SDK versi 1.0 - bersama dengan penyempurnaan baru yang paling sering diminta untuk pengembangan, pengujian, dan pemantauan Functions.

Apa yang bisa dilakukan Cloud Functions for Firebase


Firebase SDK untuk Google Cloud Functions memungkinkan Anda mengembangkan produk Firebase yang lain, dan memberikan pengguna fitur yang mereka butuhkan dalam aplikasi Anda. Salah satu pelanggan paling awal kami, Posse, pembuat aplikasi Hamilton, perlu membuat sistem lotre untuk memberikan kesempatan kepada penggemar agar bisa memenangkan tiket ke pertunjukan drama Broadway yang sangat populer - tanpa pengeluaran tambahan karena harus mengelola server mereka sendiri. Saat pengguna mengikuti lotre, logika yang didukung Functions berjalan di cloud dengan hasil yang langsung disimpan ke Cloud Firestore. Hasil lotre didorong secara otomatis ke aplikasi seluler Hamilton milik penggemar yang beruntung.

Posse juga perlu menskalakan aplikasi Hamilton. Ketika lotre dibuka, penggunaan aplikasi bisa tiba-tiba melonjak berlipat ganda sebelum kembali normal beberapa menit kemudian. Functions secara otomatis menskalakan tanpa memerlukan aksi apa pun dari Posse, dan klien mereka hanya membayar sumber daya yang digunakan.

Selain lotre tiket, Posse juga menggunakan Functions untuk melakukan integrasi dengan produk Firebase lainnya untuk:
  • Mengotomatiskan pembuatan profil pengguna dengan Firebase Auth
  • Mengirim notifikasi push dengan Firebase Cloud Messaging
  • Mengubah ukuran foto pengguna secara otomatis dengan Cloud Storage
  • Memproses pembayaran dalam aplikasi menggunakan Stripe melalui webhooks HTTP

Ada banyak hal yang bisa Anda lakukan dengan Functions. Untuk lebih banyak kasus penggunaan dan kode contoh, lihat repo GitHub populer kami.

Hari ini rilis v1.0 hadir dengan sejumlah fitur baru berdasarkan masukan Anda - inilah detailnya!

Mobile client SDK


Salah satu permintaan terbesar Anda adalah cara mudah untuk langsung memanggil Functions dari aplikasi klien. Untuk memfasilitasinya, kami menambahkan tipe fungsi baru, bersama dengan SDK untuk iOS, Android, dan klien web. Tipe baru tersebut adalah fungsi Callable HTTPS yang mengelola permintaan HTTPS dari SDK klien. Fungsi Callable HTTPS secara drastis mengurangi jumlah kode boilerplate yang harus Anda tulis untuk membuat permintaan HTTPS ke Functions.

Begini cara kerjanya:
  1. Pertama, tulis sebuah fungsi Callable HTTPS yang menerima objek data dari klien. Fungsi tersebut mengembalikan objek data lain ke klien.
  2. Kemudian, pada aplikasi seluler Anda, gunakan SDK klien untuk meminta fungsi tersebut. SDK klien mengelola koneksi HTTPS dan secara otomatis menyambungkan objek data input dan output. Dalam permintaan, SDK akan menyertakan token ID pengguna dari Firebase Authentication bila pengguna login. Yang juga disertakan adalah token ID instance yang digunakan oleh Firebase Cloud Messaging.

Untuk selengkapnya, lihat dokumentasi kami!

Pengujian unit yang lebih mudah


Meskipun Functions Shell memberi Anda kemampuan untuk berinteraksi dengan fungsi secara lokal, ia tidak optimal untuk menulis pengujian unit seperti yang berjalan dalam sistem CI. Karena itulah kami meluncurkan modul npm firebase-functions-test baru yang menyederhanakan penulisan pengujian unit. firebase-functions-test menangani semua persiapan dan pembongkaran yang diperlukan, yang memudahkan dalam memanipulasi data pengujian. Sekarang, Anda bisa menulis pengujian offline sepenuhnya tanpa efek samping, atau pengujian yang berinteraksi dengan project pengembangan Firebase - di mana Anda dapat mengamati keberhasilan tindakan seperti penulisan database.

Dukungan resmi untuk emulasi fungsi


Musim gugur yang lalu, kami memperkenalkan kemampuan untuk mengemulasikan fungsi Anda secara lokal melalui Firebase CLI dengan perintah "firebase serve --only functions" dan "firebase experimental:functions:shell". Ini adalah fitur eksperimental, dan sekarang kami secara resmi mendukungnya. "firebase experimental:functions:shell" berubah namanya menjadi "firebase functions:shell", dan "firebase serve" akan mengemulasikan semua fungsi HTTPS secara default tanpa memerlukan flag "--only".

Fitur pemantauan yang lebih baik


Setelah menerapkan fungsi, Anda mungkin bertanya-tanya: "Apa yang terjadi dengan fungsi saya? Bagaimana kinerja aplikasi saya? Apakah ada yang rusak?" Dengan rilis hari ini, Anda sekarang bisa mengawasi setiap error dalam fungsi Anda melalui monitor kesehatan kinerja yang baru:

Selain itu, Anda bisa melacak kinerja fungsi, latensi dan penggunaan memori:

Update API


API untuk menulis Cloud Functions dengan Firebase SDK telah berubah dalam rilis SDK v1.0 ini. Ini berarti bahwa melakukan upgrade ke SDK baru membutuhkan beberapa update bagi kode apa pun yang sudah Anda tulis selama versi beta. Namun jangan khawatir - ini tidak memengaruhi fungsi apa pun yang telah Anda terapkan. Untuk melihat apa yang berubah dan cara beradaptasi dengan format baru, ikuti saja panduan migrasi kami!

Memulai Cloud Functions for Firebase


Bila Anda baru saja memulai Firebase SDK untuk Cloud Functions, cobalah ikuti Codelab langkah demi langkah kami dan kunjungi dokumentasi. Ada juga video tutorial untuk membantu Anda menyiapkan penggunaan TypeScript sebagai bahasa pemrograman yang disarankan.

Kami harap Anda terbantu dengan fitur-fitur baru ini. Harap diperhatikan: Cloud Functions for Firebase masih dalam versi beta - nantikan update terbaru!