Quickstarters

Cara membangun backend untuk SwiftUI?

41min

Pendahuluan

Dalam tutorial ini, Anda akan belajar bagaimana membangun backend lengkap untuk sebuah SwiftUI aplikasi iOS menggunakan Back4App.

Kami akan menunjukkan kepada Anda bagaimana mengintegrasikan Parse Swift SDK ke dalam proyek SwiftUI Anda dan memanfaatkan fitur-fitur utama Back4App—seperti manajemen database, fungsi Cloud Code, REST dan GraphQL API, otentikasi pengguna, dan kueri waktu nyata—untuk membuat backend yang aman dan dapat diskalakan.

Pendekatan ini membantu Anda menyimpan data dengan aman, menjalankan operasi sisi server tanpa mengatur infrastruktur Anda sendiri, dan dengan mudah menskalakan aplikasi iOS atau aplikasi web sesuai kebutuhan.

Anda juga akan melihat bagaimana pengaturan cepat Back4app dan lingkungan yang intuitif dapat secara drastis mengurangi waktu dan usaha dibandingkan dengan mengonfigurasi server dan database Anda sendiri secara manual.

Pada akhir, Anda akan memahami cara membangun backend untuk SwiftUI yang dapat diperluas ke pengaturan produksi atau diintegrasikan dengan logika dan API kustom.

Mari kita mulai membuat backend yang kuat, dapat diskalakan dengan overhead minimal!

Prasyarat

  • 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.
  • Lingkungan pengembangan SwiftUI dasar Anda akan memerlukan Xcode yang terinstal di mesin Anda dan proyek aplikasi SwiftUI atau iOS dasar yang sudah disiapkan.
  • Swift Package Manager atau CocoaPods Untuk menambahkan Parse Swift SDK. Dokumentasi Parse Swift SDK.
  • Keterampilan dengan Swift dan SwiftUI Jika Anda baru mengenal SwiftUI, tinjau Dokumentasi SwiftUI Apple. sebelum memulai.

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

Langkah 1 – Menyiapkan Proyek Back4app

Buat Proyek Baru

Langkah pertama dalam membangun backend SwiftUI 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, “SwiftUI-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.

Sambungkan Parse Swift SDK

Back4app bergantung pada Parse Platform untuk mengelola data Anda, menyediakan fitur real-time, menangani otentikasi pengguna, dan banyak lagi. Menghubungkan aplikasi SwiftUI Anda ke Back4app melibatkan pemasangan Parse Swift SDK dan menginisialisasinya dengan kredensial dari dasbor Back4app Anda.

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

Document image


Instal SDK Parse Swift:

Jika menggunakan Swift Package Manager, buka proyek Anda di Xcode dan kemudian:

  1. FileTambahkan Paket → masukkan URL https://github.com/netreconlab/Parse-Swift.git.
  2. Pilih “Hingga Versi Utama Berikutnya” dari aturan Versi dan konfirmasi.

Jika menggunakan CocoaPods:

Bash


Inisialisasi Parse di aplikasi Anda. Misalnya, di struktur Aplikasi Anda:

Swift


Dengan menyelesaikan langkah ini, Anda telah membangun koneksi yang aman antara antarmuka depan SwiftUI Anda dan backend Back4app. Semua permintaan dan transaksi data ditangani oleh Parse Swift SDK, mengurangi kompleksitas panggilan REST atau GraphQL manual (meskipun Anda masih dapat menggunakannya jika diperlukan).

Langkah 2 – Menyiapkan Database

Menyimpan dan Mengambil Data

Dengan proyek Back4app Anda yang sudah disiapkan dan Parse Swift SDK yang terintegrasi, Anda sekarang dapat mulai menyimpan dan mengambil data. Di bawah ini adalah contoh sederhana ParseObject . Misalkan kita memiliki sebuah Todo struct:

Swift


Menyimpan Todo baru:

Swift


Mengambil semua Todos:

Swift


Sebagai alternatif, Anda dapat menggunakan Back4app’s REST API endpoints, atau GraphQL:

Curl


GraphQL:

GraphQL


Memiliki beberapa opsi (Parse Swift SDK, REST, GraphQL) memungkinkan Anda memilih pendekatan yang paling sesuai untuk alur kerja Anda.

Desain Skema dan Tipe Data

Secara default, Parse memungkinkan pembuatan skema secara langsung, tetapi Anda juga dapat mendefinisikan kelas 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 title (String) dan isCompleted (Boolean).
Buat Kelas Baru
Buat Kelas Baru


Back4app mendukung berbagai jenis data: String, Number, Boolean, Object, Date, File, Pointer, Array, Relation, GeoPoint, dan Polygon. Anda dapat memilih jenis yang sesuai untuk setiap field.

Buat Kolom
Buat Kolom


Back4app juga menyediakan AI Agent yang dapat membantu Anda merancang model data Anda:

  1. Buka AI Agent dari Dasbor Aplikasi Anda.
  2. Deskripsikan model data Anda dalam bahasa sederhana (misalnya, “Tolong buat skema kelas ToDo baru.”).
  3. Biarkan AI Agent menghasilkan skema untuk Anda.
Document image


Data Relasional

Jika Anda memiliki data relasional—katakanlah, sebuah Kategori objek yang menunjuk ke beberapa Todo item—Anda dapat menggunakan Penunjuk atau Relasi di Parse. Misalnya:

Swift


Saat melakukan kueri, Anda juga bisa menyertakan data pointer:

Swift


Kueri Langsung

Untuk pembaruan waktu nyata, Back4app menyediakan Kueri Langsung. Dalam aplikasi SwiftUI Anda, Anda dapat berlangganan untuk perubahan dalam kelas tertentu:

  1. Aktifkan Kueri Langsung di dasbor Back4app Anda di bawah Pengaturan Server.
  2. Berlangganan dalam kode.
Swift


Setiap kali sebuah Todo dibuat, diperbarui, atau dihapus di server, aplikasi Anda akan diberi tahu secara waktu nyata. Fitur ini sangat berguna untuk aplikasi kolaboratif atau dinamis yang memerlukan sinkronisasi data segera.

Langkah 3 – Menerapkan Keamanan dengan ACL dan CLP

Mekanisme Keamanan Back4app

Back4app menyediakan Access Control Lists (ACLs) dan Class-Level Permissions (CLPs) untuk keamanan data yang kuat. 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.

Document image


Access Control Lists (ACLs)

Sebuah ACL diterapkan pada objek individu. Misalnya, untuk memastikan hanya pengguna tertentu yang dapat membaca/menulis Todo:

Swift


Class-Level Permissions (CLPs)

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

  1. Pergi ke Dashboard Back4app dan pilih aplikasi Anda.
  2. Buka bagian Database , pilih sebuah kelas (misalnya, Todo).
  3. Buka tab Class-Level Permissions.
  4. Konfigurasi default seperti “Memerlukan Autentikasi” atau “Tidak Ada Akses.”
Document image


Izin ini menetapkan dasar yang luas, sementara ACL memungkinkan Anda menyesuaikan keamanan di tingkat objek. Menggabungkan keduanya memastikan model keamanan yang kuat. Untuk detail lebih lanjut, lihat Pedoman Keamanan Aplikasi.

Langkah 4 – Menulis dan Menerapkan Fungsi Cloud

Cloud Code memungkinkan Anda menjalankan kode Swift (atau JavaScript) sisi server kustom tanpa mengelola server. Ini ideal untuk menambahkan logika bisnis, validasi data, pemicu, atau integrasi backend yang tidak boleh dijalankan dari klien.

Cara Kerjanya

  • Tulis Cloud Code Anda dalam file seperti main.js (JavaScript) atau manfaatkan lingkungan Cloud Code berbasis Swift.
  • Terapkan ke proyek Back4app Anda. Kode dijalankan di lingkungan Parse Server, jadi Anda tidak perlu memelihara server Anda sendiri.
  • Panggil Cloud Code Anda dari klien melalui SDK Swift, REST, atau GraphQL.

Kasus Penggunaan Umum

  • Logika Bisnis: Validasi data yang kompleks, perhitungan bidang, atau integrasi eksternal.
  • Pemicu Data: Eksekusi logika saat objek disimpan, diperbarui, atau dihapus.
  • Keamanan: Lindungi operasi sensitif dari klien dengan menjalankannya di sisi server.

Contoh Fungsi

Di bawah ini adalah contoh JavaScript Cloud Code (karena Cloud Code terutama menggunakan JS di Back4App) yang menghitung panjang teks:

main.js


Mengdeploy melalui CLI

  1. Instal Back4app CLI.
  2. Konfigurasi kunci akun Anda:
Bash

  1. Deploy Cloud Code:
Bash


Memanggil Fungsi Anda

Dari Swift:

Swift


Via REST:

Curl


Langkah 5 – Mengonfigurasi Autentikasi Pengguna

Autentikasi Pengguna di Back4app

Back4app menggunakan ParseUser kelas untuk menangani autentikasi yang aman. Hashing kata sandi, token sesi, dan data ditangani secara otomatis, memungkinkan Anda fokus pada logika aplikasi.

Mengatur Autentikasi Pengguna

Daftar pengguna baru:

Swift


Masuk pengguna yang ada:

Swift


Token Sesi ditangani secara otomatis oleh Parse. Anda dapat keluar:

Swift


Integrasi Login Sosial

Integrasi dengan Google, Apple, Facebook, dll., dimungkinkan dengan pengaturan tambahan. Periksa Dokumentasi Login Sosial untuk detail lebih lanjut.

Verifikasi Email dan Reset Kata Sandi

Aktifkan verifikasi email di dasbor Back4app Anda, dan konfigurasikan email reset kata sandi sehingga pengguna dapat memulihkan akun mereka dengan aman. Untuk reset kata sandi:

Swift


Langkah 6 – Menangani Penyimpanan File

Mengunggah dan Mengambil File

Parse menyertakan ParseFile untuk menangani unggahan file:

Swift


Lampirkan ke ParseObject:

Swift


Keamanan File

Secara default, file dapat diakses melalui URL publik. Anda dapat mengonfigurasi keamanan file menggunakan pengaturan Parse Server. Untuk kontrol file yang lebih ketat, pastikan hanya pengguna yang terautentikasi atau peran tertentu yang dapat mengunggah atau mengambil file.

Langkah 7 – Menjadwalkan Tugas dengan Cloud Jobs

Cloud Jobs memungkinkan Anda untuk menjadwalkan dan menjalankan tugas berulang seperti membersihkan data atau mengirim email.

JS


Setelah penerapan, jadwalkan itu melalui Dasbor Back4app di bawah Pengaturan Server > Pekerjaan Latar Belakang.

Document image


Langkah 8 – Mengintegrasikan Webhooks

Webhooks memungkinkan aplikasi Back4app Anda mengirim permintaan HTTP ke layanan eksternal (seperti Stripe) setiap kali peristiwa tertentu terjadi. Ini berguna untuk menghubungkan ke alat pihak ketiga atau integrasi sisi server lainnya.

  1. Pergi ke Webhooks di dasbor Back4app Anda > Lainnya > WebHooks.
  2. Tambahkan endpoint (misalnya, https://your-service.com/webhook).
  3. Konfigurasi peristiwa mana (misalnya, catatan baru di kelas Todo) yang akan memicu webhook.
Menambahkan Webhook
Menambahkan Webhook


Sebagai contoh, Anda dapat mengirim pesan Slack setiap kali pengguna membuat Todo baru. Ini membantu Anda menjaga layanan eksternal tetap sinkron dengan data Back4app Anda.

Langkah 9 – Menjelajahi Panel Admin Back4app

Aplikasi Admin Back4app adalah antarmuka manajemen berbasis web untuk pengguna non-teknis untuk melakukan operasi CRUD pada data Anda. Ini menyediakan UI yang ramah pengguna yang terpisah dari Dasbor Parse, sehingga lebih mudah untuk mengelola data dalam produksi.

Mengaktifkan Aplikasi Admin

Pergi ke Dasbor Aplikasi > Lainnya > Aplikasi Admin dan klik “Aktifkan Aplikasi Admin.”

Aktifkan Aplikasi Admin
Aktifkan Aplikasi Admin


Buat Pengguna Admin, yang secara otomatis menghasilkan peran admin dan kelas terkait. Pilih subdomain untuk antarmuka admin, lalu masuk untuk mengelola data Anda melalui UI yang sederhana dengan klik dan pilih.

Document image


Kesimpulan

Dengan mengikuti panduan komprehensif ini, Anda telah belajar:

  • Cara membangun backend untuk SwiftUI menggunakan Back4app dan Parse Swift SDK.
  • Cara menyimpan data dengan aman menggunakan skema kelas kustom dan hubungan.
  • Cara mengintegrasikan kueri waktu nyata (Kueri Langsung) untuk pembaruan data segera.
  • Cara menerapkan langkah-langkah keamanan menggunakan ACL dan CLP untuk melindungi dan mengelola akses data.
  • Cara menjalankan logika bisnis melalui Cloud Code.
  • Cara menangani penyimpanan file, otentikasi, dan penjadwalan tugas latar belakang dengan Cloud Jobs.
  • Cara mengintegrasikan aplikasi Anda dengan layanan eksternal menggunakan webhook.

Dengan keterampilan ini, Anda dapat membangun sebuah aplikasi iOS atau aplikasi web yang mudah dikelola, aman, dan siap untuk skala. Jelajahi fitur-fitur yang lebih canggih—seperti izin berbasis peran, notifikasi push, atau caching yang lebih canggih. Anda juga dapat mengintegrasikan API lain atau menyesuaikan Cloud Code Anda untuk memenuhi kasus penggunaan khusus.

Selamat coding, dan nikmati membangun aplikasi hebat di Back4App!

Langkah Selanjutnya

  • Aplikasi SwiftUI Siap Produksi: Perluas backend ini untuk menangani model data yang lebih kompleks, caching, dan peningkatan kinerja.
  • Fitur Lanjutan: Selami lebih dalam ke dalam otentikasi khusus, akses berbasis peran, atau integrasi API pihak ketiga (seperti Stripe).
  • Jelajahi Dokumen Resmi Back4app: Untuk penjelasan lebih dalam tentang keamanan sisi server, analisis log, dan penyetelan database yang lebih lanjut.
  • Periksa Tutorial Tambahan: Obrolan waktu nyata, layanan berbasis lokasi, atau aplikasi multi-penyewa—gabungkan metode yang dipelajari di sini dengan API eksternal untuk menciptakan solusi canggih di dunia nyata.