Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cree una aplicación móvil React Native sin servidor con AWS Amplify
Creado por Deekshitulu Pentakota (AWS)
Resumen
Este patrón muestra cómo crear un backend sin servidor para una aplicación móvil React Native mediante AWS Amplify y los siguientes servicios de AWS:
AWS AppSync
Amazon Cognito
Amazon DynamoDB
Tras configurar e implementar el backend de la aplicación mediante Amplify, Amazon Cognito autentica a los usuarios y los autoriza a acceder a la aplicación. AppSync A continuación, AWS interactúa con la aplicación de interfaz y con una tabla de DynamoDB de backend para crear y obtener datos.
nota
Este patrón usa una simple aplicación «ToDoList» como ejemplo, pero puede usar un procedimiento similar para crear cualquier aplicación móvil de React Native.
Requisitos previos y limitaciones
Requisitos previos
Una cuenta de AWS activa
Interfaz de la línea de comandos de Amplify (Amplify CLI)
instalada y configurada XCode (cualquier versión)
Microsoft Visual Studio (cualquier versión, cualquier editor de código, cualquier editor de texto)
Familiaridad con Amplify
Familiaridad con Amazon Cognito
Familiaridad con AWS AppSync
Familiaridad con DynamoDB
Familiaridad con Node.js
Familiarización con npm
Familiaridad con React y React Native
Familiaridad con JavaScript y ( ECMAScript 6) ES6
Familiaridad con GraphQL
Arquitectura
El siguiente diagrama muestra un ejemplo de arquitectura para ejecutar el backend de una aplicación móvil React Native en la nube de AWS:

En el siguiente diagrama se muestra la arquitectura:
Amazon Cognito autentica a los usuarios y los autoriza a acceder a la aplicación.
Para crear y obtener datos, AWS AppSync utiliza una API de GraphQL para interactuar con la aplicación de frontend y una tabla de DynamoDB de backend.
Herramientas
Servicios de AWS
AWS Amplify es un conjunto de herramientas y funciones diseñadas específicamente que permiten a los desarrolladores web y móviles front-end crear aplicaciones de pila completa en AWS de manera rápida.
AWS AppSync proporciona una interfaz GraphQL escalable que ayuda a los desarrolladores de aplicaciones a combinar datos de varias fuentes, incluidas Amazon DynamoDB, AWS Lambda y HTTP. APIs
Amazon Cognito ofrece autenticación, autorización y administración de usuarios para aplicaciones móviles y web.
Amazon DynamoDB es un servicio de base de datos de NoSQL completamente administrado que ofrece un rendimiento rápido, predecible y escalable.
Código
El código de la aplicación de muestra que se utiliza en este patrón está disponible en el repositorio -. GitHub aws-amplify-react-native ios-todo-app
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Configure un entorno de desarrollo React Native. | Para obtener instrucciones, consulte Configurar el entorno de desarrollo | Desarrollador de aplicaciones |
Cree y ejecute la aplicación móvil ToDoList React Native en el simulador de iOS. |
| Desarrollador de aplicaciones |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree los servicios de backend necesarios para respaldar la aplicación en Amplify. |
Para la configuración de la ToDoList aplicación utilizada en este patrón, aplique el siguiente ejemplo de configuración. Ejemplo de ajustes de configuración de aplicación React Native en Amplify
Para obtener más información, consulte Crear un nuevo backend de Amplify notaEl
| Desarrollador de aplicaciones |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree un servicio de autenticación de Amazon Cognito. |
Para la configuración de la ToDoList aplicación utilizada en este patrón, aplique el siguiente ejemplo de configuración. Ejemplo de ajustes de configuración del servicio de autenticación
notaEl | Desarrollador de aplicaciones |
Implemente el servicio de Amazon Cognito en la nube de AWS. |
notaPara ver los servicios desplegados en su proyecto, vaya a la consola de Amplify ejecutando el siguiente comando:
| Desarrollador de aplicaciones |
Instala las bibliotecas Amplify necesarias para React Native y las CocoaPods dependencias para iOS. |
| Desarrollador de aplicaciones |
Importe y configure el servicio Amplify. | En el archivo de punto de entrada de la aplicación (por ejemplo, App.js), importe y cargue el archivo de configuración del servicio Amplify introduciendo las siguientes líneas de código:
notaSi recibes un error después de importar el servicio Amplify en el archivo de punto de entrada de la aplicación, deténgala. A continuación, abre XCode y selecciona el ToDoListAmplifyarchivo.xcworkspace de la carpeta iOS del proyecto y ejecuta la aplicación. | Desarrollador de aplicaciones |
Actualice el archivo de punto de entrada de la aplicación para usar el componente de orden superior (HOC) withAuthenticator. | notaEl
Ejemplo de código de HOC withAuthenticator
notaEn el simulador de iOS, la aplicación muestra la pantalla de inicio de sesión proporcionada por el servicio Amazon Cognito. | Desarrollador de aplicaciones |
Pruebe la configuración del servicio de autenticación. | En el simulador de iOS, haga lo siguiente:
notaTambién puede abrir la consola de Amazon Cognito | Desarrollador de aplicaciones |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree una AppSync API de AWS y una base de datos de DynamoDB. |
Para la configuración de la ToDoList aplicación utilizada en este patrón, aplique la siguiente configuración de ejemplo. Ejemplo de ajustes de configuración de API y base de datos
Ejemplo de esquema de GraphQL
| Desarrollador de aplicaciones |
Implemente la AppSync API de AWS. |
Para la configuración de la ToDoList aplicación utilizada en este patrón, aplique la siguiente configuración de ejemplo. Ejemplo de ajustes de configuración AppSync de la API de AWS notaLa siguiente configuración crea la API GraphQL en AWS AppSync y una tabla Todo en Dynamo DB.
| Desarrollador de aplicaciones |
Conecta la interfaz de la aplicación a la AppSync API de AWS. | Para usar la ToDoList aplicación de ejemplo que se proporciona en este patrón, copie el código del archivo App.js del ios-todo-app GitHub repositorio aws-amplify-react-native- El código de ejemplo proporcionado en el archivo App.js del repositorio hace lo siguiente:
| Desarrollador de aplicaciones |
Recursos relacionados
React
(documentación de React)