Quickstarters

Cara Membangun Backend untuk Flutter?

40min

Pendahuluan

Dalam tutorial ini, Anda akan belajar cara membangun backend untuk Flutter menggunakan Back4app, sebuah backend sebagai layanan (BaaS) yang open source dan dapat diandalkan.

Kami akan membahas integrasi fitur-fitur penting Back4app—seperti manajemen database, Cloud Functions, RESTful APIs, GraphQL APIs, dan otentikasi pengguna—ke dalam proyek Flutter Anda.

Anda juga akan menemukan cara menangani pembaruan waktu nyata menggunakan Live Queries. Dengan menggunakan server backend yang kuat dari Back4app, Anda dapat melewati banyak konfigurasi manual dan fokus pada pembuatan aplikasi Flutter yang dinamis.

Panduan ini akan menunjukkan kepada pengembang Flutter bagaimana cara menyiapkan struktur backend yang aman, dapat diskalakan, dan kuat yang berkomunikasi dengan mudah dengan sisi klien Anda.

Kami juga akan menyoroti keuntungan membiarkan Back4app menangani beban berat—seperti hosting, otentikasi pengguna, dan logika server—sehingga Anda dapat memanfaatkan fitur-fitur seperti penskalaan otomatis, keamanan tingkat lanjut, dan pemeliharaan yang disederhanakan.

Jika Anda memiliki proyek Flutter dan ingin menghemat banyak waktu untuk pengaturan backend, ini adalah tempat yang tepat untuk memulai.

Pada akhir tutorial ini, Anda akan memahami jenis backend yang dapat Anda buat dengan Back4app dan siap untuk memperluas layanan backend Anda untuk aplikasi yang siap produksi atau mengintegrasikan fungsionalitas yang lebih kompleks, seperti API eksternal dan otentikasi pengguna tingkat lanjut.

Mari kita mulai!

Prasyarat

Untuk menyelesaikan tutorial ini, Anda akan membutuhkan:

  • Akun Back4app dan proyek Back4app baru Memulai dengan Back4app. Jika Anda belum memiliki akun, Anda dapat membuatnya secara gratis. Ikuti panduan di atas untuk menyiapkan proyek Anda.
  • Lingkungan pengembangan Flutter dasar Pastikan Anda telah menginstal dan mengatur Flutter SDK . Juga, pastikan Anda memiliki IDE (seperti Android Studio atau VS Code) yang dikonfigurasi untuk Flutter.
  • Lingkungan Dart (bahasa pemrograman) Biasanya ini diinstal bersamaan dengan Flutter. Pastikan Anda dapat mengimpor dart paket tanpa kesalahan.
  • Keterampilan dasar tentang Flutter Dokumentasi Resmi Flutter. Jika Anda baru mengenal Flutter, tinjau dokumen resmi atau tutorial pemula sebelum memulai.

Pastikan Anda memiliki semua prasyarat ini. Memiliki proyek Back4app Anda yang disiapkan dan lingkungan Flutter lokal Anda yang dikonfigurasi akan membantu Anda mengikuti dengan lebih mudah.

Langkah 1 – Membuat Proyek Baru di Back4App dan Menghubungkan

Buat Proyek Baru

Langkah pertama dalam membangun backend Flutter 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, “Flutter-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 akan kita bahas.

Instal dan Inisialisasi Parse SDK di Aplikasi Flutter Anda

Back4app bergantung pada Platform Parse untuk mengelola data Anda, pembaruan waktu nyata, otentikasi pengguna, dan lainnya. Untuk menghubungkan proyek Flutter Anda ke Back4app, ikuti langkah-langkah ini:

  1. Tambahkan Parse Flutter SDK ke aplikasi Anda:
YAML

  1. Impor paket Parse di main.dart (atau di mana pun Anda menginisialisasi aplikasi Anda):
Dart


Di dasbor Back4app Anda, pergi ke Security & Keys aplikasi Anda untuk menemukan Application ID, Client Key, dan Parse Server URL. Gantilah placeholder di atas dengan kredensial Anda sendiri. Dengan inisialisasi ini, setiap permintaan dari aplikasi Flutter Anda akan diarahkan dengan aman ke instance Back4app Anda.

Ingatlah bahwa master key tidak boleh digunakan di sisi klien aplikasi Flutter Anda. Jika Anda memerlukan master key, simpanlah di server atau di lingkungan yang aman.

Langkah 2 – Menyiapkan Database

Membuat Model Data

Setelah aplikasi Flutter Anda terhubung ke Back4app, Anda dapat mulai merancang skema database Anda. Anda dapat melakukan ini secara manual dari dasbor Back4app:

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


Back4app juga menyediakan AI Agent untuk membantu dengan pembuatan skema otomatis:

  1. Buka AI Agent dari Dasbor Aplikasi Anda atau menu.
  2. Deskripsikan model data Anda dalam bahasa sederhana (misalnya, “Buat Aplikasi ToDo baru dengan skema kelas lengkap.”).
  3. Biarkan AI Agent membuat skema untuk Anda.
Document image


Ini menyederhanakan pengaturan arsitektur data. Jika Anda ingin bidang dibuat secara otomatis, Anda cukup mulai menyimpan objek dari aplikasi Anda—Parse mendukung pembuatan skema secara langsung.

Membuat Model Data Menggunakan AI Agent

Jika Anda memilih untuk menggunakan Back4app AI Agent, cukup berikan deskripsi singkat, dan ia akan membangun atau menyarankan skema untuk Anda. Ini adalah cara yang sangat baik untuk mempercepat fase pemodelan data awal proyek flutter Anda.

Membaca dan Menulis Data Menggunakan Flutter Parse SDK

Di bawah ini adalah contoh sederhana yang menunjukkan cara membuat dan mengambil objek menggunakan Parse Flutter SDK.

Dart


Dengan ini, Anda dapat berinteraksi langsung dengan database Back4app Anda dari aplikasi Flutter Anda. Cukup panggil createTodoItem('Feed the cat', false) atau fetchTodos() untuk menulis dan membaca data.

Membaca dan Menulis Data Menggunakan REST API

Jika Anda perlu mengintegrasikan dengan layanan lain atau lebih suka pendekatan yang lebih tradisional, Anda masih dapat menggunakan REST API Back4app:

Bash


Membaca dan Menulis Data Menggunakan GraphQL API

Back4app juga menawarkan endpoint GraphQL:

GraphQL


Ini memberi Anda fleksibilitas untuk membangun pendekatan apa pun yang paling cocok untuk aplikasi Flutter Anda.

Bekerja dengan Live Queries

Back4app menyediakan Live Queries sehingga Anda dapat menerima pembaruan data secara real-time. Aktifkan Live Queries di dasbor Back4app (Pengaturan Server) dan kemudian gunakan klien Parse LiveQuery Flutter.

Dart


Dengan langganan ini, Anda dapat mendengarkan perubahan data saat terjadi. Ini sangat bagus untuk membangun aplikasi kolaboratif di mana banyak pengguna melihat pembaruan data secara langsung. Setelah hot reload dipicu, langganan Anda akan tetap ada kecuali aplikasi dimulai ulang.

Langkah 3 – Menerapkan Keamanan dengan ACL dan CLP

Apa itu ACL dan CLP?

Back4app menggunakan ACL (Daftar Kontrol Akses) dan CLP (Izin Tingkat Kelas) untuk membatasi siapa yang dapat membaca atau menulis data baik di tingkat objek maupun kelas. Lapisan ini memastikan data Anda terlindungi dari akses yang tidak sah.

Mengatur Izin Tingkat Kelas

  1. Di Dasbor Back4app Anda, pergi ke Database dan pilih kelas (misalnya, “Todo”).
  2. Navigasi ke Class-Level Permissions.
  3. Tetapkan default (misalnya, hanya pengguna yang terautentikasi dapat membuat objek baru).
Document image


Mengonfigurasi ACL di Kode

Anda juga dapat menerapkan ACL di tingkat objek dari kode Flutter:

Dart


Dengan menggabungkan CLP dan ACL, Anda dapat memastikan bahwa hanya orang atau peran yang tepat yang dapat mengakses atau memodifikasi data tertentu.

Langkah 4 – Menulis Fungsi Cloud Code

Mengapa Cloud Code?

Cloud Code memungkinkan Anda menjalankan logika sisi server tanpa harus mengatur server backend secara manual. Ini sangat cocok untuk memvalidasi data, mengintegrasikan dengan layanan eksternal, atau menegakkan aturan tertentu di backend sebagai layanan (BaaS).

Contoh Fungsi

Berikut adalah contoh Cloud Function yang menghitung panjang teks:

JS


Anda dapat menerapkan kode ini melalui Back4app CLI atau di dasbor aplikasi Anda di bawah Cloud Code.

Penerapan

Menggunakan Back4app CLI:

Bash


Menggunakan Dasbor:

  1. Di dasbor aplikasi Anda, pergi ke Cloud Code > Functions.
  2. Tempelkan kode JavaScript.
  3. Klik Deploy.
Document image


Memanggil Cloud Code dari Flutter

Dart


Pendekatan aman ini memastikan logika sensitif tetap di server, sementara aplikasi Flutter Anda hanya melakukan permintaan.

Langkah 5 – Mengonfigurasi Autentikasi

Aktifkan Autentikasi Pengguna

Back4app menggunakan kelas Parse.User untuk menangani pendaftaran dan login pengguna. Secara default, Parse mengurus hashing kata sandi, token sesi, dan penyimpanan yang aman.

Dart


Login Sosial

Back4app mendukung integrasi dengan Google, Apple, Facebook, dan lainnya. Setiap penyedia memiliki pendekatan spesifik dan mungkin memerlukan pustaka tambahan (misalnya, untuk login Facebook atau Google). Anda kemudian dapat memanggil:

Dart


Sesuaikan parameter sesuai dengan dokumentasi penyedia.

Langkah 6 – Menangani Penyimpanan File

Mengatur Penyimpanan File

Anda dapat menyimpan gambar, dokumen, atau file media lainnya menggunakan ParseFile. Back4app mengamankan file-file ini dan menyediakan URL untuk pengambilan.

Dart


Pertimbangan Keamanan

Anda dapat menentukan siapa yang memiliki akses ke file (publik, pengguna terautentikasi, atau terbatas) dengan menggabungkan keamanan tingkat file dengan ACL. Ini memastikan data file Anda tetap aman.

Langkah 7 – Verifikasi Email dan Reset Kata Sandi

Mengapa Mereka Penting

Verifikasi email mengonfirmasi bahwa pengguna memiliki alamat email yang diberikan, sementara alur reset kata sandi meningkatkan pengalaman pengguna dan keamanan.

Konfigurasi Dasbor

  1. Pergi ke Pengaturan Email aplikasi Anda di dasbor Back4app.
  2. Aktifkan Verifikasi Email dan Reset Kata Sandi.
  3. Konfigurasikan template email atau domain kustom Anda jika diperlukan.

Pengaturan ini memungkinkan aplikasi Flutter Anda secara otomatis menangani pemeriksaan kepemilikan pengguna dan pemulihan kata sandi.

Implementasi di Flutter

Dart


Langkah 8 – Menjadwalkan Tugas dengan Cloud Jobs

Cloud Jobs

Anda mungkin ingin menjadwalkan tugas berulang (seperti membersihkan data lama atau mengirim email berkala). Cloud Jobs memungkinkan Anda melakukan hal itu:

JS


Terapkan kode ini, lalu pergi ke App Settings > Server Settings > Background Jobs di dasbor Back4app Anda untuk menjadwalkannya.

Menjadwalkan Pekerjaan Cloud
Menjadwalkan Pekerjaan Cloud


Langkah 9 – Mengintegrasikan Webhook

Apa Itu Webhook?

Webhook memungkinkan aplikasi Back4app Anda mengirim permintaan HTTP ke layanan eksternal ketika peristiwa tertentu terjadi (seperti menyimpan objek baru). Ini ideal untuk mengintegrasikan dengan alat pihak ketiga.

  1. Pergi ke More > WebHooks di dasbor Back4app Anda dan Tambahkan Webhook.
  2. Atur endpoint dan pemicu Anda (misalnya, “Rekaman baru di Todo”).
Menambahkan Webhook
Menambahkan Webhook


Anda juga dapat mengonfigurasi webhook secara manual di Cloud Code dengan membuat permintaan HTTP dalam pemicu beforeSave atau afterSave.

Sebelum Menyimpan WebHook
Sebelum Menyimpan WebHook


Langkah 10 – Menjelajahi Panel Admin Back4App

Di Mana Menemukannya

Aplikasi Back4app Admin adalah antarmuka yang ramah pengguna yang memungkinkan anggota tim non-teknis untuk mengelola data (operasi CRUD, tugas data, dll.) tanpa perlu membuka Dasbor Parse.

  1. Pergi ke Dasbor Aplikasi > Lainnya > Aplikasi Admin.
  2. Klik Aktifkan Aplikasi Admin.
Aktifkan Aplikasi Admin
Aktifkan Aplikasi Admin


Anda akan membuat pengguna admin, memilih subdomain, dan masuk dengan kredensial yang baru dibuat. Aplikasi Admin membantu dengan tinjauan dan modifikasi data yang cepat.

Kesimpulan

Dalam tutorial ini, Anda belajar cara membangun backend untuk Flutter menggunakan Back4app dan Parse Flutter SDK.

Anda membuat kelas, menyimpan data, mengonfigurasi kueri waktu nyata, menerapkan keamanan dengan ACL dan CLP, menulis Cloud Functions, menjadwalkan tugas, mengintegrasikan webhook, dan menjelajahi Panel Admin Back4app.

Pendekatan ini mempercepat pengembangan dengan memungkinkan Anda fokus pada sisi klien Flutter Anda daripada konfigurasi server yang kompleks.

String akhir yang Anda miliki sekarang adalah backend yang berfungsi dan aman yang memanfaatkan API restful, otentikasi pengguna, dan manipulasi data yang mudah.

Anda dapat mengintegrasikan fitur yang lebih canggih kapan saja—seperti Cloud Functions tambahan, panggilan API eksternal, atau peran kustom.

Langkah Selanjutnya

  • Siap untuk produksi: Terapkan caching canggih, analitik, atau kontrol akses berbasis peran.
  • Perluas aplikasi Anda: Integrasikan layanan pihak ketiga atau bangun lebih banyak Cloud Functions untuk logika bisnis yang lebih spesifik.
  • Konsultasikan dokumentasi Back4app: Jelajahi keamanan canggih, penyetelan kinerja, analisis log, dan lainnya.
  • Pelajari lebih lanjut: Lihat tutorial untuk aplikasi obrolan langsung, layanan berbasis lokasi, atau struktur data yang lebih kompleks. Gabungkan mereka dengan proyek Flutter Anda untuk kasus penggunaan dunia nyata.

Dengan terus menyempurnakan pengaturan ini, Anda akan mengubah aplikasi Flutter Anda menjadi solusi yang kuat dan dapat diskalakan yang dibangun di atas layanan backend yang kokoh. Selamat coding!