Bagaimana Membangun Backend untuk Ionic?
Dalam tutorial ini, Anda akan belajar bagaimana membangun backend lengkap untuk aplikasi Ionic menggunakan Back4App.
Kami akan membahas manajemen database, Fungsi Cloud Code, API REST dan GraphQL, otentikasi pengguna, penanganan file, dan banyak lagi.
Tujuan kami adalah untuk menunjukkan kepada Anda cara membangun backend untuk Ionic yang aman, dapat diskalakan, dan mudah untuk dipelihara.
Kami akan menggunakan lingkungan intuitif Back4App untuk menyederhanakan pengaturan sisi server, menghindarkan Anda dari konfigurasi manual server atau database.
Anda akan belajar alat-alat penting seperti penjadwalan tugas dengan Cloud Jobs, menerapkan aturan keamanan yang lebih canggih, dan mengintegrasikan webhook dengan layanan lain.
Pada akhir tutorial, Anda akan siap untuk mengembangkan backend dasar ini menjadi sistem siap produksi untuk aplikasi Ionic Anda.
- Akun Back4App dan proyek Back4App baru Memulai dengan Back4App. Jika Anda tidak memiliki akun, buat satu secara gratis dan ikuti panduan di atas untuk mengatur proyek Anda.
- Lingkungan pengembangan Ionic dasar Pastikan Anda telah menginstal Ionic CLI dan dapat membuat serta menjalankan aplikasi Ionic.
- Node.js (versi 14 atau lebih tinggi) terinstal Unduh Node.js untuk mengelola ketergantungan dan membangun proyek Anda.
- Pemahaman tentang JavaScript/TypeScript dan konsep Ionic Dokumentasi Resmi Ionic. Pemahaman yang baik tentang struktur, komponen, dan hook siklus hidup Ionic akan sangat membantu.
- Masuk ke akun Back4App Anda.
- Buat aplikasi baru menggunakan tombol “Aplikasi Baru” di dasbor Back4App Anda.
- Beri nama aplikasi Anda (misalnya, “Ionic-Backend-Tutorial”).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
Proyek Back4App ini adalah dasar untuk backend Anda. Berbeda dengan menggunakan SDK Parse sisi klien, tutorial ini akan menunjukkan cara melakukan panggilan melalui REST dan GraphQL dari aplikasi Ionic Anda.
- Di dasbor Back4App, pergi ke App Settings atau Security & Keys.
- Catat Application ID, REST API Key, dan GraphQL Endpoint. Anda akan memerlukan ini untuk mengirim permintaan dari aplikasi Ionic Anda.
Memiliki database yang terstruktur dengan baik adalah tulang punggung setiap aplikasi. Dasbor Back4App memudahkan untuk merancang model data dan menangani hubungan.
- Pergi ke bagian Database di dasbor Back4App Anda.
- Buat kelas baru (misalnya, “Todo”) dan tambahkan kolom (misalnya, title sebagai String, isCompleted sebagai Boolean).
![Buat Kelas Baru Buat Kelas Baru](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
- Buka AI Agent dari dasbor Back4App Anda.
- Deskripsikan skema yang Anda inginkan, seperti “Buat kelas Todo dengan bidang untuk judul (String) dan isCompleted (Boolean).”
- AI Agent akan menghasilkan skema secara otomatis.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Dari kode Ionic Anda, Anda dapat mengeksekusi permintaan HTTP. Misalnya, untuk membuat sebuah Todo:
Untuk mengambil semua Todos:
Anda dapat mengintegrasikan panggilan ini menggunakan fetch, Axios, atau pustaka klien HTTP lainnya dalam file layanan atau komponen aplikasi Ionic Anda.
Demikian pula, Anda dapat mengirim mutasi dan kueri GraphQL dari aplikasi Ionic Anda. Misalnya, untuk membuat Todo baru:
Contoh panggilan REST atau GraphQL dapat ditempatkan dalam file penyedia/layanan dalam struktur Ionic Anda, kemudian dipanggil dari halaman Anda.
Kueri Langsung memberikan pembaruan waktu nyata pada data aplikasi Anda, meskipun mereka memerlukan SDK Parse atau pendekatan langganan khusus. Jika Anda memerlukan data waktu nyata, Anda dapat mengaktifkan Kueri Langsung dari pengaturan server Back4App Anda. Anda biasanya akan menggunakan koneksi WebSocket untuk memantau perubahan dalam kelas Anda. Namun, untuk panggilan berbasis HTTP standar, Anda dapat secara berkala mengkueri titik akhir REST atau GraphQL.
ACL (Daftar Kontrol Akses) memungkinkan Anda mengatur izin baca/tulis pada objek individu. CLP (Izin Tingkat Kelas) memungkinkan Anda mengelola akses yang lebih luas di tingkat kelas. Fitur-fitur ini sangat penting untuk melindungi data pribadi dan memastikan hanya pengguna yang berwenang yang dapat memodifikasi informasi.
- Di dasbor Back4App Anda, pergi ke Database > Izin Tingkat Kelas.
- Konfigurasikan default kelas Anda (misalnya, hanya pengguna yang terautentikasi yang dapat membuat Todo baru).
Saat membuat atau memperbarui catatan, Anda dapat mengirimkan ACL melalui REST:
Untuk informasi lebih lanjut, lihat Pedoman Keamanan Aplikasi.
Cloud Code memungkinkan Anda untuk menjalankan JavaScript sisi server untuk tugas seperti validasi data, pemicu, atau integrasi. Anda dapat membuat endpoint kustom untuk memusatkan logika, yang sangat berguna jika Anda ingin menjaga kode tetap terpisah dari klien.
Di main.js Anda di sisi server (Back4App), Anda dapat menulis:
Terapkan ini melalui Back4App CLI atau di bagian Cloud Code dari dasbor.
Anda dapat mengirim permintaan POST:
Terapkan ini melalui Back4App CLI atau di bagian Cloud Code dari dasbor.
Anda akan mendapatkan respons JSON yang berisi data yang dikembalikan atau pesan kesalahan.
Anda dapat menginstal paket seperti axios di lingkungan Cloud Code Anda untuk mengintegrasikan layanan pihak ketiga. Sertakan mereka dalam main.js:
Terapkan dan panggil dengan cara yang sama seperti Anda akan melakukan fungsi Cloud Code lainnya.
Pendaftaran dan login pengguna dapat dilakukan dengan panggilan REST ke kelas User. Misalnya, untuk mendaftar:
Jika berhasil, Anda akan menerima sessionToken. Simpan dengan aman dan sertakan dalam header permintaan di masa mendatang untuk operasi yang terautentikasi.
Anda dapat mengonfigurasi login sosial (seperti Google atau Facebook) dengan mengatur alur OAuth melalui Back4App atau dengan menggunakan penyedia eksternal. Lihat Dokumentasi Login Sosial untuk langkah-langkah yang lebih rinci.
Back4App menawarkan penyimpanan file yang aman. Anda dapat melampirkan file ke objek atau menyimpannya secara independen. Misalnya:
Respon akan mencakup URL file yang dapat Anda simpan dalam sebuah kelas:
Anda dapat mengaktifkan aturan keamanan file di Pengaturan Server Back4App untuk memerlukan autentikasi atau membatasi unggahan file ke peran tertentu.
Verifikasi email memastikan keabsahan email pengguna. Reset kata sandi menyediakan cara yang aman untuk memulihkan kredensial yang hilang. Ini membantu menjaga kepercayaan dan pengelolaan pengguna yang tepat dalam aplikasi Ionic Anda.
- Pergi ke Pengaturan Aplikasi > Pengaturan Email.
- Aktifkan Verifikasi Email.
- Sesuaikan template email verifikasi dan reset kata sandi.
Pekerjaan Cloud memungkinkan Anda untuk menjadwalkan tugas berulang seperti pembersihan data atau mengirim email ringkasan. Anda menuliskannya di main.js:
Setelah penyebaran:
- Pergi ke Pengaturan Aplikasi > Pengaturan Server > Pekerjaan Latar Belakang.
- Jadwalkan cleanupOldTodos untuk dijalankan setiap hari.
![Menjadwalkan Pekerjaan Cloud Menjadwalkan Pekerjaan Cloud](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
Webhooks memungkinkan Anda mengirim data ke layanan eksternal ketika peristiwa tertentu terjadi dalam proyek Back4App Anda. Jika aplikasi Ionic Anda perlu memicu tindakan di Stripe atau Slack setelah membuat catatan baru, Anda dapat menggunakan webhooks untuk mengotomatiskan itu.
- Pergi ke Lebih > WebHooks di dasbor Back4App Anda.
- Tambahkan Webhook baru dan atur endpoint-nya (misalnya, https://your-service.com/webhook-endpoint).
- Pilih peristiwa (misalnya, “Setelah Simpan” di Todo kelas).
![Menambahkan Webhook Menambahkan Webhook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Anda juga dapat memulai permintaan keluar dari pemicu Cloud Code di main.js menggunakan pustaka HTTP standar.
The Back4App Admin App adalah antarmuka yang lebih sederhana untuk pemangku kepentingan non-teknis. Ini menyediakan cara yang mudah untuk melakukan operasi CRUD pada kelas Anda tanpa harus masuk ke Parse Dashboard utama.
- Di dashboard, pergi ke More > Admin App.
- Klik Enable Admin App dan buat pengguna admin.
- Pilih subdomain untuk mengakses antarmuka admin Anda.
![Aktifkan Admin App Aktifkan Admin App](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/jOFU8C0qiFm6wiVZXS9l0_image.png?format=webp)
Panel ini membantu Anda mengelola data tanpa menulis kueri, menjadikannya ideal untuk klien atau anggota tim yang lebih suka antarmuka grafis.
Dengan menyelesaikan panduan ini tentang cara membangun backend untuk Ionic, Anda telah:
- Membuat backend yang aman di Back4App dengan model data dan hubungan yang kuat.
- Mengintegrasikan dengan REST dan GraphQL APIs untuk membaca dan menulis data dari aplikasi Ionic Anda.
- Menerapkan keamanan dengan ACL dan CLP.
- Menyebarkan Cloud Code untuk logika dan pemicu kustom.
- Mengonfigurasi otentikasi pengguna dan penyimpanan file.
- Menyiapkan Cloud Jobs untuk penjadwalan tugas.
- Memanfaatkan webhook untuk integrasi eksternal.
- Menjelajahi Panel Admin untuk menyederhanakan administrasi data.
Dengan fondasi ini, aplikasi Ionic Anda dapat berkembang menjadi platform siap produksi. Tambahkan lebih banyak logika, sambungkan API pihak ketiga, atau sesuaikan aturan keamanan untuk mencocokkan kasus penggunaan Anda.
- Tingkatkan build produksi Anda dengan menerapkan caching, akses berbasis peran, dan pemantauan kinerja.
- Integrasikan fitur canggih seperti Live Queries waktu nyata atau otentikasi multi-faktor.
- Konsultasikan dokumen resmi Back4App untuk eksplorasi mendalam tentang analitik, log, dan penyetelan kinerja.
- Jelajahi tutorial lain yang menunjukkan aplikasi chat, integrasi IoT, atau fitur berbasis lokasi yang digabungkan dengan layanan backend Back4App yang kuat.
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)