Quickstarters

Cara Membangun Backend untuk htmx?

34min

Pendahuluan

Dalam tutorial ini, Anda akan belajar bagaimana membangun backend lengkap untuk aplikasi web htmx menggunakan Back4app.

Kami akan membahas integrasi fitur-fitur penting Back4app - seperti manajemen database, Cloud Code Functions, REST dan GraphQL APIs, otentikasi pengguna, penyimpanan file, dan kueri waktu nyata (Live Queries) - untuk membuat backend yang aman, dapat diskalakan, dan kuat yang berkomunikasi dengan mulus dengan frontend htmx Anda.

Menggunakan htmx, sebuah pustaka JavaScript modern yang memanfaatkan atribut html untuk menangani interaksi sisi klien, dapat secara drastis meningkatkan pengalaman pengguna sambil fokus pada rendering sisi server.

Dengan menggabungkan htmx dengan kerangka kerja sisi server dan mesin template yang kuat dari Back4app, pengembang dapat dengan mudah dan efisien membuat aplikasi web full stack.

Pada akhir tutorial ini, Anda akan memiliki backend yang disesuaikan untuk integrasi htmx, memungkinkan operasi data yang lancar dan meningkatkan pengalaman sisi klien dengan pembaruan halaman html dinamis tanpa memuat ulang halaman secara penuh.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda akan membutuhkan:

  • Akun Back4app dan proyek Back4app baru Memulai dengan Back4app. Jika Anda tidak memiliki akun, Anda dapat membuat satu secara gratis. Ikuti panduan di atas untuk menyiapkan proyek Anda.
  • Pengaturan htmx dasar Sertakan pustaka htmx di halaman html Anda menggunakan:
  • Lingkungan pengembangan web Pastikan Anda memiliki pengaturan server lokal atau menggunakan kerangka kerja sisi server untuk menyajikan template html Anda.
  • Keterampilan dalam HTML, CSS, dan JavaScript Dokumentasi htmx untuk informasi lebih lanjut tentang atribut html dan pengembangan aplikasi web.

Pastikan Anda memiliki semua prasyarat ini sebelum Anda mulai. Memiliki proyek Back4app Anda yang disiapkan dan lingkungan htmx lokal Anda siap akan membantu Anda mengikuti dengan lebih mudah.

Langkah 1 – Menyiapkan Proyek Back4app

Buat Proyek Baru

Langkah pertama dalam membangun backend htmx Anda di Back4app adalah membuat proyek baru. Jika Anda belum membuat satu, ikuti langkah-langkah ini:

  1. Masuk ke akun Back4app Anda.
  2. Klik tombol “Aplikasi Baru” di dasbor Back4app Anda.
  3. Beri nama aplikasi Anda (misalnya, “htmx-Backend-Tutorial”).
Document image


Setelah proyek dibuat, Anda akan melihatnya terdaftar di dasbor Back4app Anda. Proyek ini akan menjadi dasar untuk semua konfigurasi backend yang dibahas dalam tutorial ini.

Koneksi melalui REST API

Back4app bergantung pada Parse Platform untuk mengelola data Anda, menyediakan fitur real-time, menangani otentikasi pengguna, dan lainnya.

Sementara htmx sendiri adalah pustaka sisi klien, menghubungkan front end htmx Anda ke Back4app melibatkan membuat panggilan REST API langsung dari html dan JavaScript Anda.

Ambil Kunci Parse Anda: Di dasbor Back4app Anda, navigasikan ke bagian “Pengaturan Aplikasi” atau “Keamanan & Kunci” untuk menemukan ID Aplikasi, Kunci REST API, dan URL Server Parse (sering dalam format https://parseapi.back4app.com).

Dengan kunci ini, Anda dapat menggunakan htmx untuk memanggil endpoint backend Anda dan memanipulasi template html Anda sesuai kebutuhan. Misalnya, Anda mungkin menggunakan permintaan fetch JavaScript yang dikombinasikan dengan atribut htmx untuk berinteraksi dengan data Anda melalui panggilan REST.

Langkah 2 – Menyiapkan Database

Menyimpan dan Mengquery Data

Dengan proyek Back4app Anda yang sudah disiapkan, Anda sekarang dapat mulai menyimpan dan mengambil data menggunakan panggilan REST API, yang dapat Anda picu dari permintaan htmx atau JavaScript biasa. Cara termudah untuk membuat catatan adalah dengan membuat permintaan POST ke server Parse:

Curl


Demikian pula, Anda dapat mengquery data:

Curl


Anda juga dapat menggunakan kueri GraphQL sesuai kebutuhan untuk berinteraksi dengan database Anda dari sisi klien.

Desain Skema dan Tipe Data

Secara default, Parse memungkinkan pembuatan skema secara langsung, tetapi Anda juga dapat mendefinisikan kelas dan tipe data Anda di dasbor Back4app untuk kontrol yang lebih baik.

  1. Navigasikan ke bagian “Database” di dasbor Back4app Anda.
  2. Buat kelas baru (misalnya, “Todo”) dan tambahkan kolom yang relevan, seperti judul (String) dan isCompleted (Boolean).



Back4app mendukung berbagai jenis data seperti String, Number, Boolean, Object, Date, File, Pointer, Array, Relation, GeoPoint, dan Polygon. Gunakan ini untuk merancang skema yang kuat untuk aplikasi yang didorong oleh htmx Anda.

Back4app menawarkan AI Agent yang dapat membantu Anda merancang model data Anda:

  1. Buka AI Agent dari Dasbor Aplikasi Anda atau di menu.
  2. Deskripsikan model data Anda dalam bahasa sederhana (misalnya, “Tolong, buat aplikasi ToDo baru di back4app dengan skema kelas yang lengkap.”).
  3. Biarkan AI Agent membuat Skema untuk Anda.



Menggunakan AI Agent dapat menghemat waktu Anda saat mengatur arsitektur data Anda dan memastikan konsistensi di seluruh aplikasi Anda.

Data Relasional

Jika Anda memiliki data relasional, seperti menghubungkan tugas ke kategori, Anda dapat menggunakan Pointers atau Relations di Parse melalui panggilan REST API. Misalnya, menambahkan pointer:

JS


Saat Anda melakukan kueri, sertakan data pointer sesuai kebutuhan:

JS


Kueri Langsung

Untuk pembaruan waktu nyata, Back4app menyediakan Kueri Langsung. Sementara htmx fokus pada rendering sisi server dan atribut HTML, mengintegrasikan pembaruan langsung dapat meningkatkan pengalaman pengguna secara signifikan.

  1. Aktifkan Kueri Langsung di dasbor Back4app Anda di bawah Pengaturan Server. Pastikan “Kueri Langsung” diaktifkan.
  2. Inisialisasi Langganan Kueri Langsung menggunakan JavaScript bersama dengan pemicu htmx jika perlu:

(Catatan: Kueri Langsung biasanya memerlukan Parse SDK; namun, mereka masih dapat bekerja bersama htmx dengan memperbarui bagian halaman saat data berubah. Contoh ini menunjukkan konsep tersebut.)

JS


Langganan ini kemudian dapat memicu permintaan htmx atau memperbarui template html secara dinamis untuk mencerminkan perubahan di sisi klien.

Langkah 3 – Menerapkan Keamanan dengan ACL dan CLP

Mekanisme Keamanan Back4app

Back4app menganggap keamanan dengan serius dengan menyediakan Daftar Kontrol Akses (ACL) dan Izin Tingkat Kelas (CLP). Fitur-fitur ini memungkinkan Anda membatasi siapa yang dapat membaca atau menulis data berdasarkan objek atau kelas, memastikan hanya pengguna yang berwenang yang dapat memodifikasi data Anda.

Daftar Kontrol Akses (ACL)

Sebuah ACL diterapkan pada objek individu untuk menentukan pengguna, peran, atau publik mana yang dapat melakukan operasi baca/tulis. Misalnya:

JS


Ketika Anda menyimpan objek, ia memiliki ACL yang mencegah siapa pun kecuali pengguna yang ditentukan untuk membacanya atau memodifikasinya.

Izin Tingkat Kelas (CLP)

CLP mengatur izin default seluruh kelas, seperti apakah kelas tersebut dapat dibaca atau ditulis secara publik, atau jika hanya peran tertentu yang dapat mengaksesnya.

  1. Pergi ke Dasbor Back4app Anda, pilih aplikasi Anda, dan buka Database bagian.
  2. Pilih kelas (misalnya, “Todo”).
  3. Buka Izin Tingkat Kelas tab.
  4. Konfigurasikan default Anda, seperti “Memerlukan Autentikasi” untuk baca atau tulis, atau “Tidak Ada Akses” untuk publik.

Izin ini menetapkan dasar, sementara ACL menyempurnakan izin untuk objek individu. Model keamanan yang kuat biasanya menggabungkan baik CLP (pembatasan luas) dan ACL (pembatasan halus per objek). Untuk informasi lebih lanjut, kunjungi Pedoman Keamanan Aplikasi.

Langkah 4 – Menulis dan Menerapkan Fungsi Cloud

Cloud Code adalah fitur dari lingkungan Parse Server yang memungkinkan Anda menjalankan kode JavaScript kustom di sisi server.

Dengan menulis Cloud Code, Anda dapat memperluas backend Back4app Anda dengan logika bisnis tambahan, validasi, pemicu, dan integrasi yang berjalan dengan aman dan efisien di Parse Server.

Cara Kerjanya

Ketika Anda menulis Cloud Code, Anda biasanya menempatkan fungsi JavaScript, pemicu, dan modul NPM yang diperlukan di dalam sebuah main.js file. File ini kemudian diterapkan ke proyek Back4app Anda, yang dieksekusi dalam lingkungan Parse Server.

JS


Terapkan Cloud Code Anda menggunakan Back4app CLI atau melalui Dashboard.

Memanggil Fungsi Anda

Dari antarmuka yang ditingkatkan htmx, Anda dapat memanggil fungsi Cloud Code Anda menggunakan fetch JavaScript dan memperbarui bagian dari halaman html Anda sesuai kebutuhan. Misalnya:

JS


Anda dapat mengintegrasikan panggilan serupa dalam pemicu htmx dan atribut html Anda untuk menciptakan perilaku dinamis dan responsif di sisi klien, meningkatkan pengalaman pengguna secara keseluruhan.

Langkah 5 – Mengonfigurasi Autentikasi Pengguna

Autentikasi Pengguna di Back4app

Back4app memanfaatkan kelas Parse User sebagai dasar untuk autentikasi. Secara default, Parse menangani hashing kata sandi, token sesi, dan penyimpanan yang aman.

Dalam konteks aplikasi htmx, autentikasi pengguna dapat dikelola melalui panggilan REST yang dimulai oleh pengiriman formulir html atau permintaan fetch JavaScript.

Mengatur Autentikasi Pengguna

Misalnya, untuk membuat pengguna baru:

JS


Demikian pula, untuk login pengguna:

JS


Manajemen Sesi

Setelah login berhasil, Parse membuat token sesi yang dapat Anda simpan dan kelola dalam aplikasi htmx Anda untuk permintaan yang terautentikasi selanjutnya.

Integrasi Login Sosial

Sementara htmx berfokus pada atribut html dan interaksi sisi server, mengintegrasikan login sosial seperti Google atau Facebook masih dapat dicapai dengan memulai alur OAuth dan menangani callback di sisi server. Lihat Dokumentasi Login Sosial untuk panduan rinci.

Verifikasi Email dan Reset Kata Sandi

Untuk mengaktifkan verifikasi email dan reset kata sandi:

  1. Navigasikan ke Pengaturan Email di dasbor Back4app Anda.
  2. Aktifkan verifikasi email dan konfigurasikan template yang diperlukan.
  3. Gunakan fetch dalam alur htmx Anda untuk memicu permintaan reset kata sandi sesuai kebutuhan.

Langkah 6 – Menangani Penyimpanan File

Mengunggah dan Mengambil File

Parse mencakup kemampuan penyimpanan file yang dapat Anda manfaatkan melalui panggilan REST API dari aplikasi htmx Anda. Sebagai contoh, untuk mengunggah gambar:

JS


Keamanan File

Kontrol siapa yang dapat mengunggah dan mengakses file dengan mengonfigurasi pengaturan keamanan di Back4app dan mengatur ACL pada objek file sesuai kebutuhan.

Langkah 7 – Menjadwalkan Tugas dengan Cloud Jobs

Cloud Jobs

Cloud Jobs di Back4app memungkinkan Anda untuk menjadwalkan tugas rutin di backend Anda, seperti membersihkan data lama atau mengirim email berkala.

Tugas-tugas ini dijalankan di sisi server dan dapat diintegrasikan dengan alur kerja htmx Anda jika diperlukan.

JS


Jadwalkan pekerjaan ini melalui Dasbor Back4app di bawah Pengaturan Aplikasi > Pengaturan Server > Pekerjaan Latar Belakang.

Langkah 8 – Mengintegrasikan Webhooks

Webhooks memungkinkan aplikasi Back4app Anda untuk mengirim permintaan HTTP ke layanan eksternal setiap kali peristiwa tertentu terjadi. Ini sangat kuat untuk mengintegrasikan dengan sistem pihak ketiga seperti gateway pembayaran, alat pemasaran email, atau platform analitik.

  1. Navigasikan ke konfigurasi Webhooks di dasbor Back4app Anda > Lainnya > WebHooks dan klik pada Tambah Webhook.
  2. Konfigurasi pemicu untuk menentukan peristiwa mana di kelas Back4app Anda atau fungsi Cloud Code yang akan memicu webhook.

Misalnya, untuk memberi tahu saluran Slack setiap kali Todo baru dibuat:

  • Buat Aplikasi Slack yang menerima webhook masuk.
  • Salin URL webhook Slack.
  • Di dasbor Back4app Anda, atur endpoint ke URL Slack tersebut untuk peristiwa “Rekaman baru di kelas Todo.”
  • Opsional, tambahkan header HTTP atau payload kustom sesuai kebutuhan.

Anda juga dapat mendefinisikan Webhooks di Cloud Code dengan membuat permintaan HTTP kustom dalam pemicu.

Langkah 9 – Menjelajahi Panel Admin Back4app

Aplikasi Back4app Admin App adalah antarmuka manajemen berbasis web yang dirancang untuk pengguna non-teknis untuk melakukan operasi CRUD dan menangani tugas data rutin tanpa menulis kode.

Ini menyediakan antarmuka yang berfokus pada model dan ramah pengguna yang menyederhanakan administrasi basis data, manajemen data kustom, dan operasi tingkat perusahaan.

Mengaktifkan Aplikasi Admin

Aktifkan dengan pergi ke Dasbor Aplikasi > Lainnya > Aplikasi Admin dan klik tombol “Aktifkan Aplikasi Admin”.

Buat Pengguna Admin Pertama (username/kata sandi), yang secara otomatis menghasilkan peran baru (B4aAdminUser) dan kelas (B4aSetting, B4aMenuItem, dan B4aCustomField) dalam skema aplikasi Anda.

Pilih Subdomain untuk mengakses antarmuka admin dan selesaikan pengaturannya.

Masuk menggunakan kredensial admin yang Anda buat untuk mengakses dasbor Aplikasi Admin baru Anda.

Setelah diaktifkan, Aplikasi Admin Back4app memudahkan untuk melihat, mengedit, atau menghapus catatan dari basis data Anda - tanpa memerlukan penggunaan langsung dari Dasbor Parse atau kode backend.

Kesimpulan

Dengan mengikuti tutorial komprehensif ini tentang cara membangun backend untuk htmx menggunakan Back4app, Anda telah:

  • Membuat backend yang aman yang dirancang untuk aplikasi web htmx.
  • Mengonfigurasi database dengan skema kelas, tipe data, dan hubungan.
  • Mengintegrasikan kueri waktu nyata dan mempertimbangkan bagaimana Kueri Langsung dapat meningkatkan pengalaman pengguna di sisi klien.
  • Menerapkan langkah-langkah keamanan menggunakan ACL dan CLP untuk melindungi dan mengelola akses data.
  • Mengimplementasikan fungsi Cloud Code untuk menjalankan logika bisnis kustom di sisi server.
  • Mengatur otentikasi pengguna, penyimpanan file, Pekerjaan Cloud terjadwal, dan mengintegrasikan Webhook.
  • Menjelajahi Panel Admin Back4app untuk manajemen data yang efisien.

Dengan backend yang kuat ini, Anda sekarang dapat memanfaatkan kemampuan htmx untuk membuat aplikasi web dinamis dan modern yang menggabungkan peningkatan sisi klien dengan kerangka kerja sisi server yang kuat.

Pendekatan full stack ini meningkatkan pengalaman pengguna secara keseluruhan, memberikan pembaruan halaman html yang mulus, rendering sisi server yang efisien, dan integrasi yang mulus di seluruh tumpukan teknologi Anda.

Langkah Selanjutnya

  • Perluas backend ini untuk menggabungkan model data yang lebih kompleks, mesin template yang lebih canggih, dan logika sisi server kustom.
  • Jelajahi integrasi dengan kerangka kerja sisi server untuk menciptakan pengalaman sisi klien yang lebih dinamis dan responsif.
  • Periksa dokumentasi resmi Back4app untuk pendalaman lebih dalam tentang keamanan lanjutan, penyetelan kinerja, dan analitik.
  • Terus belajar tentang htmx dan pengembangan web modern untuk membangun aplikasi web yang ramah pengguna dan responsif yang menggabungkan yang terbaik dari teknologi sisi klien dan sisi server.