Pembaca seperti Anda membantu mendukung MUO. Saat Anda melakukan pembelian menggunakan tautan di situs kami, kami dapat memperoleh komisi afiliasi. Baca selengkapnya.

PocketBase adalah backend open-source yang terdiri dari database SQLite tersemat dengan validasi data, langganan real-time, dan REST API yang mudah digunakan. Ini juga menawarkan otentikasi dan penyimpanan file untuk file media.

PocketBase sangat cocok untuk proyek yang Anda tidak ingin membuat backend karena kendala waktu atau kenyamanan karena sepenuhnya portabel dan memerlukan penyiapan minimal. Itu juga terintegrasi dengan teknologi populer seperti Vue, Svelte, React, Angular, dan Flutter.

Layanan yang Disediakan oleh PocketBase

PocketBase menyediakan sebagian besar layanan yang ditawarkan oleh penyedia backend lain seperti SupaBase.

  • basis data SQLite: PocketBase menyertakan database SQLite tertanam. Ini berbeda dari penyedia backend lain yang menggunakan database yang lebih besar seperti PostgreSQL atau MySQL. Penggunaan SQLite membuat PocketBase lebih ringan. Anda juga dapat berlangganan peristiwa basis data real-time melalui API.
    instagram viewer
  • Autentikasi: PocketBase mendukung otentikasi email/kata sandi, dan Otentikasi OAuth2 melalui Facebook, Google, GitLab, dan GitHub.
  • Penyimpanan berkas: Anda dapat mengunggah file foto, audio, dan video ke penyimpanan lokal atau bucket S3 menggunakan PocketBase.
  • Dasbor admin: Dasbor Admin memungkinkan Anda membuat dan mengelola koleksi di database. Anda juga dapat mengunggah file, melihat file log, dan mengonfigurasi pengaturan untuk mengirim email,

Menurut dokumen, PocketBase dapat dengan mudah melayani 10.000+ waktu nyata yang terus-menerus dan bersamaan koneksi pada 6 server pribadi virtual menjadikannya pilihan backend yang terjangkau untuk kecil hingga menengah aplikasi.

Perhatikan bahwa PocketBase hanya menskala secara vertikal. Ini berarti Anda perlu menambahkan lebih banyak CPU dan RAM untuk meningkatkan daya pemrosesan. Jika Anda memiliki aplikasi besar, pertimbangkan a penyedia backend seperti Firebase yang memungkinkan penskalaan horizontal.

Memulai Dengan PocketBase

Saat ini, PocketBase menyediakan dua SDK:

  • SDK JavaScript yang dapat Anda gunakan dengan framework JavaScript seperti Svelte, React, Vue, dan Angular.
  • SDK Dart untuk Aplikasi bergetar.

Cara termudah untuk memulai adalah dengan unduh PocketBase. Ada beberapa tautan, jadi pastikan untuk mengunduh yang kompatibel dengan lingkungan Anda.

Setelah Anda mengunduhnya, ekstrak dan arahkan ke folder pocketbase. Kemudian jalankan perintah ini di terminal:

./pocketbase melayani

Perintah ini harus memulai server web di rute ini.

  • Server: http://127.0.0.1:8090/
  • API REST: http://127.0.0.1:8090/api/
  • Antarmuka Admin: http://127.0.0.1:8090/_/

Arahkan ke http://127.0.0.1:8090/_/ URL untuk membuat koleksi pertama Anda menggunakan dasbor admin.

Membuat Koleksi di PocketBase

Pertama kali Anda membuka UI admin, ia akan meminta alamat email dan kata sandi untuk membuat akun admin.

Berikut adalah tampilan UI admin:

Mengklik Koleksi baru tombol di UI admin akan membuka panel koleksi yang dapat Anda isi dengan detail untuk membuat koleksi baru.

Inilah cara Anda membuat koleksi yang disebut todos yang terdiri dari judul dan bidang yang sudah diisi:

Koleksi dapat berupa koleksi dasar atau autentikasi. Kumpulan dasar adalah jenis kumpulan default dan Anda dapat menggunakannya untuk semua jenis data. Koleksi autentikasi berisi bidang tambahan untuk mengelola pengguna, seperti nama pengguna, email, dan terverifikasi.

Anda tidak perlu menggunakan UI admin untuk membuat koleksi; Anda dapat membuatnya menggunakan Web API. dokumen PocketBase berikan contoh khusus SDK tentang cara membuat dan mengelola koleksi melalui API. Anda dapat membuat, melihat, memperbarui, menghapus, atau mengimpor koleksi.

Menggunakan PocketBase di Aplikasi Bereaksi

JavaScript SDK memungkinkan Anda untuk berinteraksi dengan PocketBase dari proyek React.

Untuk mengikuti, mulailah dengan membuat proyek Bereaksi.

Kemudian, instal PocketBase JavaScript SDK di proyek React Anda melalui npm:

npm instal pocketbase --save

Selanjutnya, di app.js, impor PocketBase dan inisialisasi.

impor PocketBase dari'saku';
const pb = baru PocketBase(' http://127.0.0.1:8090');

Untuk mengilustrasikan bagaimana PocketBase mengintegrasikan React, Anda akan membuat fungsi pembantu untuk aplikasi yang harus dilakukan. Fungsi-fungsi ini akan membuat, memperbarui, mengambil, dan menghapus item.

Buat Item Todo

Di app.js, buat fungsi bernama addTodo.

const addTodo = asinkron (todo) => {
mencoba {
const catatan = menunggumenunggu pb.koleksi("todo").buat (untuk dilakukan);
kembali catatan;
 } menangkap (kesalahan) {
kembali { kesalahan: pesan eror };
 }
};

Fungsi ini menambahkan rekor baru dalam koleksi todos.

Perbarui Item Todo

Untuk memperbarui record dalam koleksi todo, buat fungsi bernama updateTodo dan gunakan metode update.

const updateTodo = asinkron (record_id, todo) => {
mencoba {
const catatan = menunggu pb.koleksi("todo".update (record_id, todo);
kembali catatan;
 } menangkap (kesalahan) {
kembali { kesalahan: pesan eror };
 }
};

Fungsi updateTodo menemukan item agenda berdasarkan Id rekaman dan memperbaruinya dengan data baru.

Hapus Item Todo

Di app.js, buat fungsi yang disebut deleteTodo yang menghapus record dalam koleksi todo.

const hapusTodo = asinkron (record_id) => {
mencoba {
menunggu pb.koleksi("todo".hapus (record_id);
 } menangkap (kesalahan) {
kembali { kesalahan: pesan eror };
 }
};

Ambil Item Todo

Anda dapat mengambil satu item agenda atau semua item dari koleksi.

Fungsi ini mengambil satu item agenda dengan id:

const getTodo = asinkron (record_id) => {
mencoba {
const catatan = menunggu pb.koleksi("todo").getOne (record_id, {
memperluas: "relField1,relField2.subRelField",
});
kembali catatan
 } menangkap (kesalahan) {
kembali { kesalahan: pesan eror };
 }
};

Sedangkan fungsi di bawah ini akan mengambil semua catatan dalam koleksi todo:

const getTodo = asinkron (record_id) => {
mencoba {
const catatan = menunggu hal
.koleksi("todo")
.getFullList(200 /* ukuran tumpukan */, {
menyortir: "-dibuat",
});
kembali catatan;
} menangkap (kesalahan) {
kembali { kesalahan: pesan eror };
}
}

Anda dapat menggunakan fungsi ini untuk membuat dan memperbarui UI aplikasi.

Untuk contoh yang lebih rinci, lihat API catatan PocketBase dokumentasi atau dokumentasi API yang dihasilkan di "Admin UI > Collections > API Preview". Anda harus dapat mengakses daftar, melihat, membuat, memperbarui, menghapus, dan dokumentasi real-time untuk koleksi Anda.

Mengapa Anda Harus Menggunakan PocketBase

PocketBase adalah backend terbaik untuk proyek kecil hingga menengah. Ini membutuhkan pengaturan minimal dan mudah digunakan. Ia menawarkan dua SDK klien—SDK JavaScript dan SDK Dart—dan Anda dapat menggunakannya di aplikasi web dan seluler.

PocketBase juga dapat dihosting sendiri, dan Anda dapat menghostingnya di server lokal atau VPS. Meskipun tidak mendukung fungsi cloud, Anda dapat menggunakannya sebagai framework Go dan membuat aplikasi Anda sendiri dengan logika bisnis kustom.