Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat aplikasi seluler React Native tanpa server dengan menggunakan AWS Amplify
Deekshitulu Pentakota, Amazon Web Services
Ringkasan
Pola ini menunjukkan cara membuat backend tanpa server untuk aplikasi seluler React Native dengan menggunakan AWS Amplify dan layanan AWS berikut:
AWS AppSync
Amazon Cognito
Amazon DynamoDB
Setelah Anda mengonfigurasi dan menerapkan backend aplikasi dengan menggunakan Amplify, Amazon Cognito mengautentikasi pengguna aplikasi dan memberi wewenang kepada mereka untuk mengakses aplikasi. AWS AppSync kemudian berinteraksi dengan aplikasi frontend dan dengan tabel DynamoDB backend untuk membuat dan mengambil data.
Pola ini menggunakan aplikasi "ToDoList" sederhana sebagai contoh, tetapi Anda dapat menggunakan prosedur serupa untuk membuat aplikasi seluler React Native apa pun.
Prasyarat dan batasan
Prasyarat
Akun AWS yang aktif
Amplify Command Line Interface (Amplify CLI), diinstal dan dikonfigurasi
XCode (versi apa pun)
Microsoft Visual Studio (versi apa pun, editor kode apa pun, editor teks apa pun)
Keakraban dengan Amplify
Keakraban dengan Amazon Cognito
Keakraban dengan AWS AppSync
Keakraban dengan DynamoDB
Keakraban dengan Node.js
Keakraban dengan npm
Keakraban dengan React dan React Native
Keakraban dengan JavaScript dan ECMAScript 6 () ES6
Keakraban dengan GraphQL
Arsitektur
Diagram berikut menunjukkan contoh arsitektur untuk menjalankan backend aplikasi seluler React Native di AWS Cloud:
Diagram menunjukkan arsitektur berikut:
Amazon Cognito mengautentikasi pengguna aplikasi dan mengizinkan mereka untuk mengakses aplikasi.
Untuk membuat dan mengambil data, AWS AppSync menggunakan GraphQL API untuk berinteraksi dengan aplikasi frontend dan tabel DynamoDB backend.
Layanan AWS
AWS Amplify adalah seperangkat alat dan fitur yang dibuat khusus yang membantu pengembang web dan seluler frontend dengan cepat membangun aplikasi full-stack di AWS.
AWS AppSync menyediakan antarmuka GraphQL yang dapat diskalakan yang membantu pengembang aplikasi menggabungkan data dari berbagai sumber, termasuk Amazon DynamoDB, AWS Lambda, dan HTTP. APIs
Amazon Cognito menyediakan otentikasi, otorisasi, dan manajemen pengguna untuk aplikasi web dan seluler.
Amazon DynamoDB adalah layanan database NoSQL yang dikelola sepenuhnya yang menyediakan kinerja yang cepat, dapat diprediksi, dan terukur.
Kode
Kode untuk aplikasi sampel yang digunakan dalam pola ini tersedia di ios-todo-app repositori GitHub aws-amplify-react-native-. Untuk menggunakan file sampel, ikuti instruksi di bagian Epics dari pola ini.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|
Siapkan lingkungan pengembangan React Native. | Untuk instruksi, lihat Menyiapkan lingkungan pengembangan dalam dokumentasi React Native. | Pengembang aplikasi |
Buat dan jalankan aplikasi seluler ToDoList React Native di iOS Simulator. | Buat direktori proyek aplikasi seluler React Native baru di lingkungan lokal Anda dengan menjalankan perintah berikut di jendela terminal baru: npx react-native init ToDoListAmplify
Arahkan ke direktori root proyek dengan menjalankan perintah berikut: cd ToDoListAmplify
Jalankan aplikasi dengan menjalankan perintah berikut: npx react-native run-ios
| Pengembang aplikasi |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|
Buat layanan backend yang diperlukan untuk mendukung aplikasi di Amplify. | Di lingkungan lokal Anda, jalankan perintah berikut dari direktori root proyek (ToDoListAmplify): amplify init
Sebuah prompt muncul yang meminta Anda untuk memberikan informasi tentang aplikasi. Masukkan informasi yang diperlukan berdasarkan kasus penggunaan Anda. Kemudian, tekan Enter.
Untuk penyiapan ToDoList aplikasi yang digunakan dalam pola ini, terapkan konfigurasi contoh berikut. Contoh pengaturan konfigurasi aplikasi React Native Amplify ? Name: ToDoListAmplify
? Environment: dev
? Default editor: Visual Studio Code
? App type: javascript
? Javascript framework: react-native
? Source Directory Path: src
? Distribution Directory Path: /
? Build Command: npm run-script build
? Start Command: npm run-script start
? Select the authentication method you want to use: AWS profile
? Please choose the profile you want to use: default
Untuk informasi selengkapnya, lihat Membuat backend Amplify baru di dokumentasi Amplify Dev Center. amplify initPerintah menyediakan sumber daya berikut dengan menggunakan AWS CloudFormation:
Peran AWS Identity and Access Management (IAM) untuk pengguna yang diautentikasi dan tidak diautentikasi (Peran Auth dan Peran Unauth) Bucket Amazon Simple Storage Service (Amazon S3) untuk penerapan (untuk contoh aplikasi pola ini, Amplify-meta.json) Lingkungan backend di Amplify Hosting
| Pengembang aplikasi |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|
Buat layanan otentikasi Amazon Cognito. | Di lingkungan lokal Anda, jalankan perintah berikut dari direktori root proyek (ToDoListAmplify): amplify add auth
Muncul prompt yang meminta Anda untuk memberikan informasi tentang pengaturan konfigurasi layanan otentikasi. Masukkan informasi yang diperlukan berdasarkan kasus penggunaan Anda. Kemudian, tekan Enter.
Untuk penyiapan ToDoList aplikasi yang digunakan dalam pola ini, terapkan konfigurasi contoh berikut. Contoh pengaturan konfigurasi layanan otentikasi ? Do you want to use the default authentication and security configuration? \
Default configuration
? How do you want users to be able to sign in? \
Username
? Do you want to configure advanced settings? \
No, I am done
amplify add authPerintah membuat folder, file, dan file dependensi yang diperlukan dalam folder lokal (amplify) dalam direktori root proyek. Untuk pengaturan ToDoList aplikasi yang digunakan dalam pola ini, aws-exports.js dibuat untuk tujuan ini.
| Pengembang aplikasi |
Menerapkan layanan Amazon Cognito ke AWS Cloud. | Dari direktori root proyek, jalankan perintah Amplify CLI berikut: amplify push
Prompt untuk mengonfirmasi penerapan muncul. Masukkan Ya. Kemudian, tekan Enter.
Untuk melihat layanan yang diterapkan di project Anda, buka konsol Amplify dengan menjalankan perintah berikut: amplify console
| Pengembang aplikasi |
Instal library Amplify yang diperlukan untuk React Native dan CocoaPods dependensi untuk iOS. | Instal pustaka klien sumber terbuka Amplify yang diperlukan dengan menjalankan perintah berikut dari direktori root proyek: npm install aws-amplify aws-amplify-react-native \
amazon-cognito-identity-js @react-native-community/netinfo \
@react-native-async-storage/async-storage
Instal CocoaPods dependensi yang diperlukan untuk iOS dengan menjalankan perintah berikut: npx pod-install
| Pengembang aplikasi |
Impor dan konfigurasikan layanan Amplify. | Dalam file titik masuk aplikasi (misalnya, App.js), impor dan muat file konfigurasi layanan Amplify dengan memasukkan baris kode berikut: import Amplify from 'aws-amplify'
import config from './src/aws-exports'
Amplify.configure(config)
Jika Anda menerima kesalahan setelah mengimpor layanan Amplify di file titik masuk aplikasi, hentikan aplikasi. Kemudian, buka XCode dan pilih ToDoListAmplify.xcworkspace dari folder iOS proyek dan jalankan aplikasi. | Pengembang aplikasi |
Perbarui file titik masuk aplikasi Anda untuk menggunakan komponen Higher-order (HOC) withAuthenticator. | Dalam file titik masuk aplikasi (misalnya, App.js), impor withAuthenticator HOC dengan memasukkan baris kode berikut: import { withAuthenticator } from 'aws-amplify-react-native'
Ekspor WithAuthenticator HOC dengan memasukkan kode berikut: export default withAuthenticator(App)
denganContoh kode HOC Authenticator import Amplify from 'aws-amplify'
import config from './src/aws-exports'
Amplify.configure(config)
import { withAuthenticator } from 'aws-amplify-react-native';
const App = () => {
return null;
};
export default withAuthenticator(App);
Di iOS Simulator, aplikasi menampilkan layar login yang disediakan oleh layanan Amazon Cognito. | Pengembang aplikasi |
Uji pengaturan layanan otentikasi. | Di iOS Simulator, lakukan hal berikut: Buat akun baru di aplikasi dengan menggunakan alamat email asli. Kode verifikasi kemudian dikirim ke email yang terdaftar. Verifikasi pengaturan akun dengan menggunakan kode yang Anda terima di email verifikasi. Masukkan nama pengguna dan kata sandi yang Anda buat. Kemudian, pilih Masuk. Layar selamat datang muncul.
Anda juga dapat membuka konsol Amazon Cognito dan memeriksa apakah pengguna baru telah dibuat di Identity Pool atau tidak. | Pengembang aplikasi |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|
Buat database AWS AppSync API dan DynamoDB. | Tambahkan AWS AppSync API ke aplikasi Anda dan sediakan database DynamoDB secara otomatis dengan menjalankan perintah Amplify CLI berikut dari direktori root proyek: amplify add api
Muncul prompt yang meminta Anda untuk memberikan informasi tentang pengaturan konfigurasi API dan database. Masukkan informasi yang diperlukan berdasarkan kasus penggunaan Anda. Kemudian, tekan Enter. Amplify CLI membuka file skema GraphQL di editor teks Anda.
Untuk penyiapan ToDoList aplikasi yang digunakan dalam pola ini, terapkan konfigurasi contoh berikut. Contoh pengaturan konfigurasi API dan database ? Please select from one of the below mentioned services: \
GraphQL
? Provide API name: todolistamplify
? Choose the default authorization type for the API \
Amazon Cognito User Pool
Do you want to use the default authentication and security configuration
? Default configuration How do you want users to be able to sign in? \
Username
Do you want to configure advanced settings? \
No, I am done.
? Do you want to configure advanced settings for the GraphQL API \
No, I am done.
? Do you have an annotated GraphQL schema? \
No
? Choose a schema template: \
Single object with fields (e.g., "Todo" with ID, name, description)
? Do you want to edit the schema now? \
Yes
Contoh skema GraphQL type Todo @model {
id: ID!
name: String!
description: String
}
| Pengembang aplikasi |
Menerapkan AWS AppSync API. | Di direktori root proyek, jalankan perintah Amplify CLI berikut: amplify push
Muncul prompt yang meminta Anda untuk memberikan informasi lebih lanjut tentang pengaturan konfigurasi API dan database. Masukkan informasi yang diperlukan berdasarkan kasus penggunaan Anda. Kemudian, tekan Enter. Aplikasi Anda sekarang dapat berinteraksi dengan AWS AppSync API.
Untuk penyiapan ToDoList aplikasi yang digunakan dalam pola ini, terapkan konfigurasi contoh berikut. Contoh pengaturan konfigurasi AWS AppSync API Konfigurasi berikut membuat GraphQL API di AppSync AWS dan tabel Todo di Dynamo DB. ? Are you sure you want to continue? Yes
? Do you want to generate code for your newly created GraphQL API Yes
? Choose the code generation language target javascript
? Enter the file name pattern of graphql queries, mutations and subscriptions src/graphql/**/*.js
? Do you want to generate/update all possible GraphQL operations - \
queries, mutations and subscriptions Yes
? Enter maximum statement depth \
[increase from default if your schema is deeply nested] 2
| Pengembang aplikasi |
Hubungkan frontend aplikasi ke AWS AppSync API. | Untuk menggunakan ToDoList aplikasi contoh yang disediakan dalam pola ini, salin kode dari file App.js di ios-todo-app GitHub repositori aws-amplify-react-native-. Kemudian, integrasikan kode contoh ke lingkungan lokal Anda. Kode contoh yang disediakan dalam file App.js repositori melakukan hal berikut: Menunjukkan formulir untuk membuat ToDo Item dengan bidang Judul dan Deskripsi Menampilkan daftar item yang harus dilakukan (Judul dan Deskripsi) Memposting dan mengambil data dengan menggunakan metode aws-amplify
| Pengembang aplikasi |
Sumber daya terkait