Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Hubungkan aplikasi Anda dan mulai membuat prototipe

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Sebelum Anda menggunakan Firebase Local Emulator Suite, pastikan Anda telah membuat proyek Firebase, menyiapkan lingkungan pengembangan, dan memilih serta memasang SDK Firebase untuk platform Anda sesuai dengan topik Memulai dengan Firebase untuk platform Anda: Apple , Android atau Web .

Prototipe dan tes

Lokal Emulator Suite berisi beberapa emulator produk, seperti yang dijelaskan dalam Pengantar Firebase Local Emulator Suite . Anda dapat membuat prototipe dan menguji dengan emulator individual serta kombinasi emulator, sesuai keinginan Anda, sesuai dengan produk Firebase yang Anda gunakan dalam produksi.

Interaksi antara database Firebase dan emulator fungsi
Emulator Database dan Cloud Functions sebagai bagian dari Rangkaian Emulator Lokal lengkap .

Untuk topik ini, untuk memperkenalkan alur kerja Local Emulator Suite, anggaplah Anda sedang mengerjakan aplikasi yang menggunakan kombinasi produk biasa: database Firebase dan fungsi cloud yang dipicu oleh operasi pada database tersebut.

Setelah Anda menginisialisasi proyek Firebase secara lokal, siklus pengembangan menggunakan Local Emulator Suite biasanya memiliki tiga langkah:

  1. Fitur prototipe secara interaktif dengan emulator dan UI Emulator Suite.

  2. Jika Anda menggunakan emulator database atau emulator Cloud Functions, lakukan langkah satu kali untuk menghubungkan aplikasi Anda ke emulator.

  3. Otomatiskan pengujian Anda dengan emulator dan skrip khusus.

Inisialisasi proyek Firebase secara lokal

Pastikan Anda menginstal CLI atau memperbarui ke versi terbarunya .

curl -sL firebase.tools | bash

Jika Anda belum melakukannya, inisialisasi direktori kerja saat ini sebagai proyek Firebase, dengan mengikuti petunjuk di layar untuk menentukan bahwa Anda menggunakan Cloud Functions dan Cloud Firestore atau Realtime Database :

firebase init

Direktori proyek Anda sekarang akan berisi file konfigurasi Firebase, file definisi Aturan Keamanan Firebase untuk database, direktori functions yang berisi kode fungsi cloud, dan file pendukung lainnya.

Prototipe secara interaktif

Local Emulator Suite dirancang untuk memungkinkan Anda membuat prototipe fitur baru dengan cepat, dan antarmuka pengguna bawaan Suite adalah salah satu alat pembuatan prototipe yang paling berguna. Ini seperti menjalankan konsol Firebase secara lokal.

Dengan menggunakan Emulator Suite UI, Anda dapat mengulangi desain database, mencoba berbagai aliran data yang melibatkan fungsi cloud, mengevaluasi perubahan Aturan Keamanan, memeriksa log untuk mengonfirmasi kinerja layanan back-end Anda, dan banyak lagi. Kemudian, jika Anda ingin memulai dari awal, cukup bersihkan database Anda dan mulai dengan ide desain baru.

Semuanya tersedia saat Anda memulai Local Emulator Suite dengan:

firebase emulators:start

Untuk membuat prototipe aplikasi hipotetis kita, mari siapkan dan uji fungsi cloud dasar untuk mengubah entri teks dalam database, dan buat serta isi database tersebut di UI Emulator Suite untuk memicunya.

  1. Buat fungsi cloud yang dipicu oleh penulisan database dengan mengedit file functions/index.js di direktori proyek Anda. Ganti isi file yang ada dengan cuplikan berikut. Fungsi ini mendengarkan perubahan pada dokumen dalam kumpulan messages , mengonversi konten bidang original dokumen menjadi huruf besar, dan menyimpan hasilnya dalam bidang uppercase dokumen tersebut.
  2.   const functions = require('firebase-functions');
    
      exports.makeUppercase = functions.firestore.document('/messages/{documentId}')
          .onCreate((snap, context) => {
            const original = snap.data().original;
            console.log('Uppercasing', context.params.documentId, original);
            const uppercase = original.toUpperCase();
            return snap.ref.set({uppercase}, {merge: true});
          });
      
  3. Luncurkan Local Emulator Suite dengan firebase emulators:start . Cloud Functions dan emulator database dimulai, secara otomatis dikonfigurasi untuk beroperasi.
  4. Lihat UI di browser Anda di http://localhost:4000 . Port 4000 adalah default untuk UI, tetapi periksa keluaran pesan terminal oleh Firebase CLI. Perhatikan status emulator yang tersedia. Dalam kasus kami, emulator Cloud Functions dan Cloud Firestore akan berjalan.
    gambar saya
  5. Di UI, pada tab Firestore > Data , klik Mulai pengumpulan dan ikuti petunjuk untuk membuat dokumen baru dalam kumpulan messages , dengan nama bidang original dan test nilai . Ini memicu fungsi cloud kami. Perhatikan bahwa bidang uppercase baru segera muncul, diisi dengan string "TEST".
    gambar sayagambar saya
  6. Pada tab Firestore > Permintaan , periksa permintaan yang dibuat ke database yang Anda tiru, termasuk semua evaluasi Aturan Keamanan Firebase yang dilakukan sebagai bagian dari pemenuhan permintaan tersebut.
  7. Periksa tab Log untuk mengonfirmasi bahwa fungsi Anda tidak mengalami kesalahan saat memperbarui database.

Anda dapat dengan mudah beralih antara kode fungsi cloud dan pengeditan database interaktif hingga Anda mendapatkan aliran data yang Anda cari, tanpa menyentuh kode akses database dalam aplikasi, mengkompilasi ulang, dan menjalankan kembali rangkaian pengujian.

Hubungkan aplikasi Anda ke emulator

Ketika Anda telah membuat kemajuan yang baik dengan pembuatan prototipe interaktif dan telah menetapkan desain, Anda akan siap untuk menambahkan kode akses database ke aplikasi Anda menggunakan SDK yang sesuai. Anda akan tetap menggunakan tab database dan, untuk fungsi, tab Log di UI Emulator Suite untuk mengonfirmasi bahwa perilaku aplikasi Anda sudah benar.

Ingat bahwa Local Emulator Suite adalah alat pengembangan lokal. Menulis ke database produksi Anda tidak akan memicu fungsi yang Anda buat prototipe secara lokal.

Untuk beralih agar aplikasi Anda melakukan penulisan ke database, Anda harus mengarahkan kelas pengujian atau konfigurasi dalam aplikasi ke emulator Cloud Firestore.

Android
// 10.0.2.2 is the special IP address to connect to the 'localhost' of
// the host computer from an Android emulator.
FirebaseFirestore firestore = FirebaseFirestore.getInstance();
firestore.useEmulator("10.0.2.2", 8080);

FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
        .setPersistenceEnabled(false)
        .build();
firestore.setFirestoreSettings(settings);
Cepat
let settings = Firestore.firestore().settings
settings.host = "localhost:8080"
settings.isPersistenceEnabled = false 
settings.isSSLEnabled = false
Firestore.firestore().settings = settings

Web version 9

import { getFirestore, connectFirestoreEmulator } from "firebase/firestore";

// firebaseApps previously initialized using initializeApp()
const db = getFirestore();
connectFirestoreEmulator(db, 'localhost', 8080);

Web version 8

// Firebase previously initialized using firebase.initializeApp().
var db = firebase.firestore();
if (location.hostname === "localhost") {
  db.useEmulator("localhost", 8080);
}

Otomatiskan pengujian Anda dengan skrip khusus

Sekarang untuk langkah alur kerja keseluruhan terakhir. Setelah Anda membuat prototipe fitur dalam aplikasi dan terlihat menjanjikan di semua platform, Anda dapat beralih ke implementasi dan pengujian akhir. Untuk pengujian unit dan alur kerja CI, Anda dapat memulai emulator, menjalankan pengujian skrip, dan mematikan emulator dalam satu panggilan dengan perintah exec :

firebase emulators:exec "./testdir/test.sh"

Jelajahi masing-masing emulator secara lebih mendalam

Sekarang setelah Anda melihat seperti apa alur kerja sisi klien dasar, Anda dapat melanjutkan dengan detail tentang masing-masing emulator di Suite, termasuk cara menggunakannya untuk pengembangan aplikasi sisi server:

Apa selanjutnya?

Pastikan untuk membaca topik yang terkait dengan emulator tertentu yang ditautkan di atas. Kemudian: