Cara membangun backend untuk SwiftUI?
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!
- 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 pertama dalam membangun backend SwiftUI Anda di Back4App adalah membuat proyek baru. Jika Anda belum membuat satu, ikuti langkah-langkah ini:
- Masuk ke akun Back4app Anda.
- Klik tombol “Aplikasi Baru” di dasbor Back4app Anda.
- Beri nama aplikasi Anda (misalnya, “SwiftUI-Backend-Tutorial”).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
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.
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 Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
Instal SDK Parse Swift:
Jika menggunakan Swift Package Manager, buka proyek Anda di Xcode dan kemudian:
- File → Tambahkan Paket → masukkan URL https://github.com/netreconlab/Parse-Swift.git.
- Pilih “Hingga Versi Utama Berikutnya” dari aturan Versi dan konfirmasi.
Jika menggunakan CocoaPods:
Inisialisasi Parse di aplikasi Anda. Misalnya, di struktur Aplikasi Anda:
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).
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:
Menyimpan Todo baru:
Mengambil semua Todos:
Sebagai alternatif, Anda dapat menggunakan Back4app’s REST API endpoints, atau GraphQL:
GraphQL:
Memiliki beberapa opsi (Parse Swift SDK, REST, GraphQL) memungkinkan Anda memilih pendekatan yang paling sesuai untuk alur kerja Anda.
Secara default, Parse memungkinkan pembuatan skema secara langsung, tetapi Anda juga dapat mendefinisikan kelas Anda di dasbor Back4app untuk kontrol yang lebih baik.
- Navigasikan ke bagian “Database” di dasbor Back4app Anda.
- Buat kelas baru (misalnya, “Todo”) dan tambahkan kolom yang relevan, seperti title (String) dan isCompleted (Boolean).
![Buat Kelas Baru Buat Kelas Baru](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
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](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/DEh9vyxdBTZcslXxkVQMA_image.png?format=webp)
Back4app juga menyediakan AI Agent yang dapat membantu Anda merancang model data Anda:
- Buka AI Agent dari Dasbor Aplikasi Anda.
- Deskripsikan model data Anda dalam bahasa sederhana (misalnya, “Tolong buat skema kelas ToDo baru.”).
- Biarkan AI Agent menghasilkan skema untuk Anda.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Jika Anda memiliki data relasional—katakanlah, sebuah Kategori objek yang menunjuk ke beberapa Todo item—Anda dapat menggunakan Penunjuk atau Relasi di Parse. Misalnya:
Saat melakukan kueri, Anda juga bisa menyertakan data pointer:
Untuk pembaruan waktu nyata, Back4app menyediakan Kueri Langsung. Dalam aplikasi SwiftUI Anda, Anda dapat berlangganan untuk perubahan dalam kelas tertentu:
- Aktifkan Kueri Langsung di dasbor Back4app Anda di bawah Pengaturan Server.
- Berlangganan dalam kode.
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.
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 Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
Sebuah ACL diterapkan pada objek individu. Misalnya, untuk memastikan hanya pengguna tertentu yang dapat membaca/menulis Todo:
CLPs mengatur default seluruh kelas, seperti apakah kelas tersebut dapat dibaca atau ditulis secara publik, atau jika hanya peran tertentu yang dapat mengaksesnya.
- Pergi ke Dashboard Back4app dan pilih aplikasi Anda.
- Buka bagian Database , pilih sebuah kelas (misalnya, Todo).
- Buka tab Class-Level Permissions.
- Konfigurasi default seperti “Memerlukan Autentikasi” atau “Tidak Ada Akses.”
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/MF1Uf7HSJF03Xg6djap9m_image.png?format=webp)
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.
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.
- 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.
- 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.
Di bawah ini adalah contoh JavaScript Cloud Code (karena Cloud Code terutama menggunakan JS di Back4App) yang menghitung panjang teks:
- Konfigurasi kunci akun Anda:
- Deploy Cloud Code:
Dari Swift:
Via REST:
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.
Daftar pengguna baru:
Masuk pengguna yang ada:
Token Sesi ditangani secara otomatis oleh Parse. Anda dapat keluar:
Integrasi dengan Google, Apple, Facebook, dll., dimungkinkan dengan pengaturan tambahan. Periksa Dokumentasi Login Sosial untuk detail lebih lanjut.
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:
Parse menyertakan ParseFile untuk menangani unggahan file:
Lampirkan ke ParseObject:
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.
Cloud Jobs memungkinkan Anda untuk menjadwalkan dan menjalankan tugas berulang seperti membersihkan data atau mengirim email.
Setelah penerapan, jadwalkan itu melalui Dasbor Back4app di bawah Pengaturan Server > Pekerjaan Latar Belakang.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
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.
- Pergi ke Webhooks di dasbor Back4app Anda > Lainnya > WebHooks.
- Tambahkan endpoint (misalnya, https://your-service.com/webhook).
- Konfigurasi peristiwa mana (misalnya, catatan baru di kelas Todo) yang akan memicu webhook.
![Menambahkan Webhook Menambahkan Webhook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
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.
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.
Pergi ke Dasbor Aplikasi > Lainnya > Aplikasi Admin dan klik “Aktifkan Aplikasi Admin.”
![Aktifkan Aplikasi Admin Aktifkan Aplikasi Admin](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
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 Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/jOFU8C0qiFm6wiVZXS9l0_image.png?format=webp)
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!
- 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.
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)