Quickstarters
Feature Overview
How to Build a Backend for Dart?
25 mnt
pendahuluan dalam tutorial ini, anda akan belajar cara membangun backend untuk dart menggunakan back4app kami akan fokus pada integrasi fitur fitur penting back4app—seperti manajemen database, fungsi cloud code, api rest dan graphql, otentikasi pengguna, dan kueri waktu nyata (live queries)—ke dalam proyek berbasis dart karena dart adalah bahasa pemrograman yang serbaguna, anda dapat menggunakannya untuk berbagai proyek backend, dari server web sederhana hingga aplikasi skala penuh dengan memanfaatkan lingkungan intuitif back4app, anda akan dengan cepat menyiapkan kerangka backend yang kuat dan aman tanpa pemeliharaan server yang berat anda akan melihat bagaimana fitur fitur seperti acl, clp, penjadwalan tugas latar belakang, dan pembuatan logika kustom dengan cloud code memperlancar operasi sisi server anda setelah menyelesaikan tutorial ini, anda akan siap untuk meningkatkan backend dart anda atau menambahkan integrasi yang lebih canggih prasyarat untuk menyelesaikan tutorial ini, anda akan membutuhkan akun back4app dan proyek back4app baru memulai dengan back4app https //www back4app com/docs/get started/new parse app jika anda tidak memiliki akun, anda dapat membuatnya secara gratis lingkungan pengembangan dart dasar anda dapat mengatur ini dengan menginstal dart sdk dan editor pilihan anda untuk informasi lebih lanjut, lihat dapatkan dart sdk https //dart dev/get dart dart 2 0 atau lebih tinggi pastikan lingkungan anda diperbarui, sehingga anda dapat memanfaatkan fitur fitur dart terbaru dan paket shelf atau pustaka sisi server lainnya keterampilan dalam dart dan konsep backend jika anda baru mengenal dart, tinjau dokumentasi resmi dart https //dart dev/guides untuk membangun kefasihan dasar pastikan anda memiliki semua prasyarat ini sebelum anda mulai memiliki proyek back4app anda siap dan lingkungan dart lokal anda dikonfigurasi dengan benar akan membantu anda mengikuti dengan lebih mudah langkah 1 – membuat proyek baru di back4app dan menghubungkan mengapa membuat proyek back4app baru? proyek back4app baru membentuk dasar backend anda, mengelola database, keamanan, api, penyimpanan file, dan lainnya ini memberi anda struktur yang terorganisir untuk membangun logika sisi server berbasis dart anda membuat proyek back4app masuk ke akun back4app anda klik “aplikasi baru” di dasbor back4app beri nama aplikasi anda yang deskriptif (misalnya, “dart backend tutorial”) setelah dibuat, proyek anda akan muncul di dasbor back4app proyek ini adalah tempat anda akan mengonfigurasi semua pengaturan backend untuk aplikasi dart anda instal sdk parse dan hubungkan meskipun dart tidak memiliki sdk parse resmi, ada pustaka yang dikelola oleh komunitas seperti parse server sdk yang memungkinkan integrasi back4app anda dapat menambahkannya dengan menyertakan ketergantungan berikut dalam pubspec yaml dependencies parse server sdk ^4 0 0 # example version kemudian jalankan dart pub get inisialisasi parse dalam kode dart anda (misalnya, di sebuah main dart file) import 'package\ parse server sdk/parse server sdk dart'; future\<void> main() async { const keyapplicationid = 'your application id'; const keyclientkey = 'your javascript key'; const keyparseserverurl = 'https //parseapi back4app com'; await parse() initialize( keyapplicationid, keyparseserverurl, clientkey keyclientkey, autosendsessionid true, ); // your dart server logic goes here print('parse initialized with back4app!'); } ambil application id , javascript key , dan parse server url dari dasbor back4app (di bawah “app settings” > “security & keys”) dengan langkah ini, aplikasi dart anda dapat berinteraksi dengan aman dengan kerangka backend back4app anda langkah 2 – menyiapkan database membuat model data di dasbor back4app, navigasikan ke bagian “database” dan buat kelas baru (misalnya, “todo”) tambahkan kolom untuk bidang anda, seperti title (string) dan iscompleted (boolean) membuat model data menggunakan ai agent buka ai agent di dasbor aplikasi anda deskripsikan skema yang anda inginkan (misalnya, “tolong buat kelas todo dengan bidang title dan iscompleted ”) biarkan ai agent menyelesaikan skema untuk anda membaca dan menulis data menggunakan sdk dengan pustaka parse server sdk, anda dapat menyimpan dan mengquery data dari kode dart anda misalnya import 'package\ parse server sdk/parse server sdk dart'; future\<parseobject?> createtodoitem(string title, bool iscompleted) async { final todo = parseobject('todo') set('title', title) set('iscompleted', iscompleted); final response = await todo save(); if (response success && response result != null) { print('todo created ${response result}'); return response result as parseobject; } else { print('error creating todo ${response error? message}'); return null; } } future\<list\<parseobject>?> fetchtodos() async { final query = querybuilder\<parseobject>(parseobject('todo')); final response = await query query(); if (response success && response results != null) { return response results as list\<parseobject>; } else { print('error fetching todos ${response error? message}'); return null; } } membaca dan menulis data menggunakan rest api curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo membaca dan menulis data menggunakan graphql api mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } bekerja dengan live queries (opsional) untuk mengaktifkan pembaruan waktu nyata, aktifkan live queries di dasbor back4app anda (pengaturan server) anda kemudian dapat berlangganan dari dart, meskipun anda mungkin memerlukan pustaka khusus pustaka parse server sdk mungkin memiliki dukungan query langsung sebagian; periksa dokumentasinya untuk detail langkah 3 – menerapkan keamanan dengan acl dan clp ikhtisar acls (daftar kontrol akses) batasi baca/tulis pada tingkat objek clps (izin tingkat kelas) batasi baca/tulis pada tingkat kelas langkah demi langkah izin tingkat kelas di dasbor back4app, buka bagian database, pilih kelas, dan konfigurasikan clps di bawah “keamanan ” acls dalam kode (menggunakan parse server sdk) future\<parseobject?> createprivatetodo(string title, parseuser owneruser) async { final todo = parseobject('todo') set('title', title); final acl = \<string, dynamic>{}; // grant read/write to the owner acl\[owneruser objectid!] = {"read" true, "write" true}; // disable public read/write acl\[' '] = {"read" false, "write" false}; todo setacl(acl); final response = await todo save(); if (response success && response result != null) { return response result as parseobject; } else { print('error setting acl ${response error? message}'); return null; } } langkah 4 – menulis fungsi cloud code mengapa cloud code cloud code sangat penting untuk membuat logika bisnis kustom di sisi server ini menghindarkan anda dari mengelola infrastruktur anda sendiri dan menjaga kode anda tetap aman dan dapat diskalakan contoh fungsi dan pemicu di main js (untuk cloud code) // main js parse cloud define('hellodart', (request) => { return `hello from dart and back4app, ${request params name || 'guest'}!`; }); parse cloud beforesave('todo', (request) => { const todo = request object; if (!todo get('title')) { throw 'each todo needs a title!'; } }); penerapan menggunakan back4app cli menggunakan dashboard pergi ke cloud code > fungsi tempelkan kode anda ke main js klik terapkan npm dan cloud code jika anda memerlukan modul npm tambahan untuk cloud code anda, tentukan mereka dalam package json ini memungkinkan anda untuk mengintegrasikan api eksternal atau operasi lanjutan langsung dari kode sisi server anda langkah 5 – mengonfigurasi autentikasi aktifkan autentikasi pengguna di dashboard back4app, anda dapat mengaktifkan verifikasi email atau mengatur login sosial secara default, kelas pengguna parse menyimpan kata sandi dengan aman contoh kode (menggunakan parse server sdk di dart) import 'package\ parse server sdk/parse server sdk dart'; future\<void> signupuser(string username, string password, string email) async { final user = parseuser(username, password, email); final response = await user signup(); if (response success) { print('user signed up ${response result}'); } else { print('error ${response error? message}'); } } future\<void> loginuser(string username, string password) async { final user = parseuser(username, password, null); final response = await user login(); if (response success) { print('user logged in ${response result}'); } else { print('error ${response error? message}'); } } login sosial konfigurasikan penyedia seperti google, apple, atau facebook di dalam dasbor back4app terapkan plugin parse server sdk yang sesuai atau alur oauth kustom jika tersedia langkah 6 – menangani penyimpanan file menyiapkan penyimpanan file back4app secara otomatis meng host file yang anda unggah melalui api parse anda dapat menyimpan gambar, dokumen, atau jenis file apa pun contoh (dart) pertimbangan keamanan anda dapat mengontrol siapa yang dapat mengunggah atau mengambil file dengan menyesuaikan clp atau peran pengguna anda di dasbor back4app langkah 7 – verifikasi email dan reset kata sandi ikhtisar verifikasi email mengonfirmasi bahwa pengguna memiliki email yang mereka daftarkan, sementara tautan reset kata sandi menyediakan cara yang aman untuk mengelola kredensial yang hilang konfigurasi dasbor back4app pergi ke pengaturan aplikasi > email aktifkan verifikasi email pengguna dan reset kata sandi sesuaikan template email anda sesuai kebutuhan implementasi ketika pengguna mendaftar menggunakan email yang valid, mereka menerima tautan verifikasi email untuk reset kata sandi, panggil metode requestpasswordreset milik parseuser (jika tersedia di parse server sdk) atau endpoint rest langkah 8 – penjadwalan tugas dengan pekerjaan cloud apa yang dilakukan pekerjaan cloud pekerjaan cloud memungkinkan anda menjadwalkan tugas pada interval tertentu, seperti membersihkan catatan lama atau mengirim laporan berkala mereka beroperasi di latar belakang, terpisah dari tindakan yang dipicu pengguna contoh di main js , tambahkan parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); jadwal pergi ke pengaturan aplikasi > pengaturan server > pekerjaan latar belakang jadwalkan cleanupoldtodos untuk dijalankan setiap hari atau pada interval yang anda pilih langkah 9 – mengintegrasikan webhook definisi webhook memungkinkan aplikasi back4app anda melakukan permintaan http ke layanan eksternal pada peristiwa tertentu ini berguna untuk mengintegrasikan dengan layanan pihak ketiga seperti slack atau stripe konfigurasi pergi ke lainnya > webhooks di dasbor back4app anda klik tambahkan webhook dan berikan endpoint (misalnya, https //your external service com/webhook endpoint ) tentukan peristiwa pemicu (misalnya, setelah todo dibuat) contoh jika anda memiliki url webhook slack, anda dapat mengonfigurasinya untuk menerima notifikasi setiap kali todo baru dimasukkan koneksi yang mulus antara backend dart anda dan alat eksternal meningkatkan otomatisasi langkah 10 – menjelajahi panel admin back4app di mana menemukannya di konsol back4app anda, buka more > admin app dan aktifkan panel fitur kelola catatan database dengan mudah tinjau log, pekerjaan latar belakang, dan analitik kontrol akses dan peran pengguna kesimpulan dengan mengikuti langkah langkah ini, anda telah membangun backend yang aman untuk dart di back4app mengelola database anda melalui kelas dan field parse membuat cloud code kustom untuk menangani logika sisi server mengamankan data menggunakan acl, clp, dan otentikasi pengguna menjadwalkan tugas latar belakang dengan cloud jobs mengintegrasikan layanan eksternal menggunakan webhooks menjelajahi panel admin untuk manajemen data yang mudah fondasi yang solid ini mempersiapkan anda untuk menerapkan proyek dart dengan efisien, apakah anda sedang membangun server web skala penuh, mikroservis, atau aplikasi khusus dari sini, anda dapat meningkatkan kerangka backend anda, menambahkan logika yang lebih kompleks, atau mengintegrasikan fitur canggih seperti notifikasi push atau analitik lanjutan langkah selanjutnya jelajahi kesiapan produksi gunakan strategi caching, tangani konkurensi, dan optimalkan kinerja untuk lalu lintas tinggi integrasikan fitur canggih seperti kontrol akses berbasis peran, lebih banyak login sosial, atau alat kolaborasi waktu nyata periksa dokumen resmi back4app untuk wawasan lebih dalam tentang log, keamanan, dan penyetelan kinerja eksperimen dengan paket tambahan seperti paket shelf untuk membuat server web kustom di samping lapisan data berbasis parse anda, memanfaatkan kemampuan dart sebagai bahasa pemrograman yang fleksibel dengan pengetahuan ini tentang cara membangun backend untuk dart , anda memiliki cara yang kuat untuk menangani data, mengamankan proses sisi server anda, dan mengotomatiskan alur kerja aplikasi anda—semua tanpa perlu infrastruktur yang signifikan