Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellt von Deekshitulu Pentakota (AWS)
Übersicht
Dieses Muster zeigt, wie Sie mithilfe von AWS Amplify und den folgenden AWS-Services ein serverloses Backend für eine mobile React Native-App erstellen:
AWS AppSync
Amazon Cognito
Amazon-DynamoDB
Nachdem Sie das Backend der App mithilfe von Amplify konfiguriert und bereitgestellt haben, authentifiziert Amazon Cognito App-Benutzer und autorisiert sie für den Zugriff auf die App. AWS interagiert AppSync dann mit der Frontend-App und mit einer DynamoDB-Backend-Tabelle, um Daten zu erstellen und abzurufen.
Anmerkung
Dieses Muster verwendet eine einfache App „ToDoList“ als Beispiel, aber Sie können ein ähnliches Verfahren verwenden, um jede beliebige mobile React Native-App zu erstellen.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives AWS-Konto
Amplify Command Line Interface (Amplify CLI)
, installiert und konfiguriert XCode (jede Version)
Microsoft Visual Studio (jede Version, jeder Code-Editor, jeder Texteditor)
Vertrautheit mit Amplify
Vertrautheit mit Amazon Cognito
Vertrautheit mit AWS AppSync
Vertrautheit mit DynamoDB
Vertrautheit mit Node.js
Vertrautheit mit npm
Vertrautheit mit React und React Native
Vertrautheit mit JavaScript und ECMAScript 6 () ES6
Vertrautheit mit GraphQL
Architektur
Das folgende Diagramm zeigt eine Beispielarchitektur für die Ausführung des Backends einer mobilen React Native-App in der AWS-Cloud:

Das Diagramm zeigt die folgende Architektur:
Amazon Cognito authentifiziert App-Benutzer und autorisiert sie, auf die App zuzugreifen.
Um Daten zu erstellen und abzurufen, AppSync verwendet AWS eine GraphQL-API, um mit der Frontend-App und einer Backend-DynamoDB-Tabelle zu interagieren.
Tools
AWS-Services
AWS Amplify ist eine Reihe von speziell entwickelten Tools und Funktionen, mit denen Frontend-Web- und Mobilentwickler schnell Full-Stack-Anwendungen auf AWS erstellen können.
AWS AppSync bietet eine skalierbare GraphQL-Schnittstelle, mit der Anwendungsentwickler Daten aus mehreren Quellen kombinieren können, darunter Amazon DynamoDB, AWS Lambda und HTTP. APIs
Amazon Cognito bietet Authentifizierung, Autorisierung und Benutzerverwaltung für Web- und mobile Apps.
Amazon DynamoDB ist ein vollständig verwalteter NoSQL-Datenbank-Service, der schnelle und planbare Leistung mit nahtloser Skalierbarkeit bereitstellt.
Code
Der Code für die Beispielanwendung, die in diesem Muster verwendet wird, ist im ios-todo-app Repository GitHub aws-amplify-react-native-
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Richten Sie eine React Native-Entwicklungsumgebung ein. | Anweisungen finden Sie unter Einrichten der Entwicklungsumgebung | App-Developer |
Erstellen Sie die mobile ToDoList React Native-App und führen Sie sie im iOS-Simulator aus. |
| App-Developer |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie die Backend-Dienste, die zur Unterstützung der App in Amplify erforderlich sind. |
Wenden Sie für das in diesem Muster verwendete ToDoList App-Setup die folgende Beispielkonfiguration an. Beispiel für die Konfiguration der React Native Amplify App
Weitere Informationen finden Sie unter Erstellen eines neuen Amplify-Backends in der Amplify AnmerkungDer
| App-Developer |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie einen Amazon Cognito Cognito-Authentifizierungsservice. |
Wenden Sie für das in diesem Muster verwendete ToDoList App-Setup die folgende Beispielkonfiguration an. Beispiel für Konfigurationseinstellungen für den Authentifizierungsdienst
AnmerkungDer | App-Developer |
Stellen Sie den Amazon Cognito-Service in der AWS-Cloud bereit. |
AnmerkungUm die in Ihrem Projekt bereitgestellten Dienste zu sehen, rufen Sie die Amplify-Konsole auf, indem Sie den folgenden Befehl ausführen:
| App-Developer |
Installieren Sie die erforderlichen Amplify-Bibliotheken für React Native und die CocoaPods Abhängigkeiten für iOS. |
| App-Developer |
Importieren und konfigurieren Sie den Amplify-Dienst. | Importieren und laden Sie in der Einstiegspunktdatei der App (z. B. App.js) die Konfigurationsdatei des Amplify-Dienstes, indem Sie die folgenden Codezeilen eingeben:
AnmerkungWenn Sie nach dem Import des Amplify-Dienstes in die Einstiegspunktdatei der App eine Fehlermeldung erhalten, beenden Sie die App. Öffnen XCode Sie dann die ToDoListAmplifyDatei .xcworkspace aus dem iOS-Ordner des Projekts, wählen Sie sie aus und führen Sie die App aus. | App-Developer |
Aktualisieren Sie die Einstiegspunktdatei Ihrer App, um die WithAuthenticator-Komponente höherer Ordnung (HOC) zu verwenden. | AnmerkungDer
Beispiel für den WITHAuthenticator HOC-Code
AnmerkungIm iOS-Simulator zeigt die App den Anmeldebildschirm an, der vom Amazon Cognito-Service bereitgestellt wird. | App-Developer |
Testen Sie die Einrichtung des Authentifizierungsdienstes. | Gehen Sie im iOS-Simulator wie folgt vor:
AnmerkungSie können auch die Amazon Cognito Cognito-Konsole | App-Developer |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie eine AppSync AWS-API und eine DynamoDB-Datenbank. |
Wenden Sie für das in diesem Muster verwendete ToDoList App-Setup die folgende Beispielkonfiguration an. Beispiel für API- und Datenbankkonfigurationseinstellungen
Beispiel für ein GraphQL-Schema
| App-Developer |
Stellen Sie die AppSync AWS-API bereit. |
Wenden Sie für das in diesem Muster verwendete ToDoList App-Setup die folgende Beispielkonfiguration an. Beispiel für AppSync AWS-API-Konfigurationseinstellungen AnmerkungDie folgende Konfiguration erstellt die GraphQL-API in AWS AppSync und eine Todo-Tabelle in Dynamo DB.
| App-Developer |
Connect das Frontend der App mit der AppSync AWS-API. | Um die in diesem Muster bereitgestellte ToDoList Beispiel-App zu verwenden, kopieren Sie den Code aus der Datei App.js im ios-todo-app GitHub Repository aws-amplify-react-native- Der in der Datei App.js des Repositorys enthaltene Beispielcode bewirkt Folgendes:
| App-Developer |