Crear un Backend de Aplicación en Pocos Pasos con el Amplify Admin UI

Rate this content
Bookmark

Hay mucho que se necesita para construir una aplicación moderna: el frontend para los usuarios, la persistencia de datos, la autenticación y autorización de usuarios, la lógica de negocio, la implementación en la nube y mucho más. El Amplify Admin UI de AWS permite a los usuarios crear e implementar un backend de aplicación listo para funcionar sin conexión en pocos pasos y luego extenderlo con código, reduciendo la complejidad del desarrollo fullstack para desarrolladores frontend y móviles. Construiremos una aplicación fullstack respaldada por múltiples servicios de AWS, incluyendo Cognito, Appsync y S3, en minutos.

This talk has been presented at JSNation Live 2021, check out the latest edition of this JavaScript Conference.

FAQ

AWS Amplify Admin UI es una interfaz de administración que facilita el desarrollo de backend para aplicaciones web, permitiendo a los desarrolladores crear y gestionar su backend con herramientas visuales directamente desde el navegador.

No es necesario tener una cuenta de AWS para probar AWS Amplify localmente. Puedes modelar un esquema backend y probarlo en tu entorno local sin incurrir en costos de la nube.

AWS Amplify utiliza varios servicios de AWS, incluyendo DynamoDB para la base de datos, Lambda para la computación, AppSync para la sincronización de datos, y S3 para el almacenamiento, entre otros.

El desarrollo de bajo código permite a los desarrolladores construir aplicaciones más rápidamente y con menos código manual, facilitando la generación de código y permitiendo a los desarrolladores centrarse más en la lógica de negocio y menos en tareas repetitivas.

Amplify DataStore es una herramienta de AWS que permite manejar datos compartidos que también están disponibles sin conexión. Utiliza IndexedDB en el navegador y se sincroniza automáticamente con una base de datos en la nube cuando hay conexión.

Puedes probar un esquema de base de data en AWS Amplify localmente seleccionando el tipo de aplicación que deseas desarrollar, como una aplicación de React, y luego utilizar Amplify CLI para vincular y probar el esquema en tu aplicación.

El soporte de renderizado del lado del servidor en AWS Amplify permite alojar aplicaciones que realizan la renderización del lado del servidor, utilizando funciones Lambda serverless en el borde para ejecutar esta tarea.

Ali Spittel
Ali Spittel
29 min
10 Jun, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

La charla de hoy presenta el Amplify Admin UI de AWS y el desarrollo de bajo código, que tiene como objetivo simplificar el desarrollo backend web. El Amplify Admin UI es una poderosa herramienta respaldada por servicios de AWS, que permite a los usuarios crear un esquema de base de datos de forma visual y probarlo localmente. El Amplify CLI y Datastore permiten a los desarrolladores vincular fácilmente el backend con su código. El desarrollo de bajo código en Amplify hace que la programación sea más accesible y divertida. Amplify ofrece beneficios como el uso directo de servicios de AWS, la capacidad de extensión y un excelente servicio GraphQL. Otros temas interesantes incluyen el soporte de renderizado en el lado del servidor, la gestión del entorno y el soporte para Node.js y Python en AWS Amplify.

1. Introducción a AWS Amplify Admin UI y Low Code

Short description:

La charla de hoy trata sobre la AWS Amplify Admin UI, que permite el desarrollo web backend con facilidad. AWS Amplify es un conjunto de herramientas dirigidas a desarrolladores front-end y móviles. Combina frameworks y serverless para facilitar el desarrollo web. Otro desarrollo emocionante es el low code, que tiene como objetivo generar código y reducir la necesidad de tareas repetitivas. Esta revolución en el desarrollo web hará la vida de los desarrolladores más fácil y eficiente.

Hola, hoy voy a hablar sobre la AWS Amplify Admin UI, que te permite hacer desarrollo web backend en pocos clics. Soy Alyse Fiddle, soy una Senior Developer Advocate que lidera y administra el equipo de desarrollo de AWS Amplify, y tengo la suerte de trabajar en esta interfaz de administración como parte de mi trabajo, lo cual me parece realmente emocionante. Me siento muy afortunada de poder hacerlo.

Nuestros objetivos para la charla de hoy son construir una aplicación divertida, hablar sobre algunos servicios subyacentes de AWS que se utilizan en esta interfaz de administración, y luego también aprender un poco sobre Amplify. Primero vamos a crear algunos datos, vamos a modelar un esquema backend, luego lo vamos a probar localmente, por lo que puedes hacer este paso sin tener una cuenta de AWS ni nada parecido, y luego lo vamos a implementar en la nube para que cualquiera pueda usar nuestra aplicación, y luego vamos a administrar nuestros datos utilizando la interfaz de administración.

Amplify de AWS es un conjunto de herramientas de AWS dirigidas específicamente a desarrolladores front-end y móviles. Sé que AWS tradicionalmente se ha enfocado principalmente en cosas de back-end, pero esto hará que los desarrolladores como yo o tú que nos enfocamos principalmente en el front-end podamos centrarnos en ello. Y así comenzamos con la interfaz de línea de comandos de AWS Amplify, que te permite aprovisionar estos recursos en la nube utilizando tu línea de comandos. Más recientemente, también hemos lanzado esta interfaz de administración, que es un poco más amigable para alguien que quiere trabajar en el navegador o que quiere usar una herramienta visual para crear primero su back-end en lugar de comenzar en la línea de comandos.

El desarrollo web full-stack está evolucionando. Al comienzo de mi carrera, la web estaba pasando por esta transición en la que comenzamos a usar cada vez más frameworks como Ruby on Rails y Django para crear rápidamente back-ends para nuestras aplicaciones. Y antes de eso, pasó por esta transición en la que ya no era estática y la gente comenzó a usar PHP y ColdFusion para insertar variables en sus plantillas de HTML y hacer las cosas un poco más dinámicas utilizando datos de la base de datos. Y luego, más recientemente, ha habido esta revolución de serverless que ha hecho que ya no necesites administrar tanta infraestructura como solías hacerlo. Y Amplify de AWS combina muchos de los desarrollos de los frameworks y serverless y los combina de la mejor manera para hacer que el desarrollo web sea un poco más fácil. Y me divierto mucho trabajando con este tipo de cosas porque me permite construir más rápido.

Y una nueva revolución dentro del desarrollo web que me emociona mucho es el low code. Y creo que es algo nuevo para los desarrolladores y puede ser un término un poco aterrador porque es como, ¿desaparecerá su trabajo? ¿Se verá radicalmente diferente? No lo creo. Siempre hemos estado desarrollando herramientas para hacer nuestras vidas más fáciles como desarrolladores y veo esto como el siguiente paso, que hacemos generación de código utilizando estos frameworks ya. Como cuando ejecutas NPX create next app, crea un montón de archivos para ti, o si creas una nueva aplicación en Rails, hace lo mismo. Y comienza a generar tu plantilla básica para tu aplicación para que no tengas que escribir lo aburrido una y otra vez. Creo que la generación de código va un paso más allá, donde puedes aprovisionar recursos y crear esquemas basados en esta generación de código y hacer que puedas trabajar en la lógica de negocio divertida en lugar de en el código repetitivo que se repite en cada aplicación. Y es un problema resuelto en cierta medida. Es divertido trabajar en cosas nuevas, es menos divertido trabajar en cosas que ya se han resuelto muchas veces. Así que ahí es donde me emociona mucho el low code donde tal vez podamos tener código que escriba otro código y tengamos que hacer menos de eso nosotros mismos como desarrolladores. Así que cuando pienso en el low code, pienso en las herramientas que nos permitirán desarrollar de una manera más eficiente donde realmente se está generando código. No hay una caja negra ni nada parecido, y hacemos la vida de los desarrolladores más fácil. Así que estoy muy emocionada por eso. La idea de poder escribir una línea de código en lugar de cientos de líneas de código o usar una línea de comandos para generar código o incluso una interfaz de usuario. Así que cuanto menos código, mejor de muchas maneras también, porque el código es realmente costoso. Conduce a mantenimiento y errores y hablo con muchos fundadores de startups y lo más caro al principio es contratar ingenieros de software.

2. Creación de un Esquema de Base de Datos y Pruebas Locales

Short description:

Tener soluciones que reduzcan la necesidad de escribir código personalizado permitirá que más personas creen startups y sean desarrolladores. La AWS Amplify Admin UI no es un juguete frágil, sino una poderosa herramienta respaldada por los servicios de AWS. Para seguir el proceso, ve a sandbox.amplifyapp.com. Nuestro primer paso es crear un esquema de base de datos utilizando una interfaz visual. Puedes agregar campos, hacerlos obligatorios y crear relaciones entre tus datos. Finalmente, puedes realizar pruebas locales y elegir el tipo de aplicación que deseas crear.

Y creo que el código es obviamente muy, muy poderoso e increíblemente importante, y sé que he centrado mi career en él. Pero tener soluciones que hagan que tengas que escribir menos código personalizado permitirá que más personas creen startups y que más personas sean desarrolladores también y tal vez evolucionen quiénes pueden ser desarrolladores.

Por lo tanto, empoderar a esos desarrolladores con menos código y también pensar primero en los desarrolladores aún dentro de eso. Y nuevamente, esta interfaz de administración que te voy a mostrar no es un juguete frágil. No es extensible ni nada por el estilo. Tiene el poder de AWS detrás de él. Tiene los mismos servicios que usarías sin esta herramienta. Y definitivamente no es un juguete, se escala a medida que tú lo haces.

Entonces, si quieres seguir el proceso conmigo, voy a ir a sandbox.amplifyapp.com. Y hice todo con videos pregrabados para que los gremlins de la demostración no salgan y me atrapen. Pero si quieres seguir el proceso, nuevamente, sandbox.amplifyapp.com, y puedes acceder a esto después para comenzar tu aplicación.

Entonces, nuestro primer paso será crear un database esquema. Y vamos a utilizar una interfaz visual para hacerlo. Aquí fui a sandbox.amplifyapp.com y luego hice clic en comenzar. Y luego voy a seleccionar data, también puedes comenzar con authentication o almacenamiento, pero creo que data tiene mucho sentido. Y luego comenzar con un esquema en blanco. Primero voy a crear un curso y luego agregar un título y una descripción. Ambos serán cadenas. También crearé un video. Entonces vamos a crear una plataforma de cursos video de alguna manera aquí donde hay cursos que tienen videos que les pertenecen. Entonces el video también tendrá un título, una descripción y luego un orden. Y esta vez será un número entero. Puedes ver todos los campos diferentes que aparecieron como fecha, hora y todo eso. Y también puedes hacer que los campos sean obligatorios haciendo clic en ellos y luego haciendo clic en es obligatorio. También puedes convertir los campos en campos de matriz si quieres almacenar varias cosas. Luego puedes agregar relaciones entre tus data. Entonces un curso tiene muchos videos. Entonces un curso tendrá muchos videos dentro de él, pero también puedes hacer relaciones de muchos a muchos o de uno a uno. Luego puedes hacer clic en probar localmente en tu aplicación y puedes elegir entre diferentes tipos de aplicaciones. Entonces soy un desarrollador de JavaScript, me gusta React, así que voy a crear una aplicación de React.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Elevando Monorepos con los Espacios de Trabajo de npm
DevOps.js Conf 2022DevOps.js Conf 2022
33 min
Elevando Monorepos con los Espacios de Trabajo de npm
Top Content
NPM workspaces help manage multiple nested packages within a single top-level package, improving since the release of NPM CLI 7.0. You can easily add dependencies to workspaces and handle duplications. Running scripts and orchestration in a monorepo is made easier with NPM workspaces. The npm pkg command is useful for setting and retrieving keys and values from package.json files. NPM workspaces offer benefits compared to Lerna and future plans include better workspace linking and adding missing features.
Automatizando Todo el Código y las Pruebas con GitHub Actions
React Advanced Conference 2021React Advanced Conference 2021
19 min
Automatizando Todo el Código y las Pruebas con GitHub Actions
Top Content
We will learn how to automate code and testing with GitHub Actions, including linting, formatting, testing, and deployments. Automating deployments with scripts and Git hooks can help avoid mistakes. Popular CI-CD frameworks like Jenkins offer powerful orchestration but can be challenging to work with. GitHub Actions are flexible and approachable, allowing for environment setup, testing, deployment, and custom actions. A custom AppleTools Eyes GitHub action simplifies visual testing. Other examples include automating content reminders for sharing old content and tutorials.
Ajustando DevOps para las Personas sobre la Perfección
DevOps.js Conf 2022DevOps.js Conf 2022
33 min
Ajustando DevOps para las Personas sobre la Perfección
Top Content
DevOps is a journey that varies for each company, and remote work makes transformation challenging. Pull requests can be frustrating and slow, but success stories like Mateo Colia's company show the benefits of deploying every day. Challenges with tools and vulnerabilities require careful consideration and prioritization. Investing in documentation and people is important for efficient workflows and team growth. Trust is more important than excessive control when deploying to production.
¿Por qué es tan lento el CI?
DevOps.js Conf 2022DevOps.js Conf 2022
27 min
¿Por qué es tan lento el CI?
Slow CI has a negative impact on productivity and finances. Debugging CI workflows and tool slowness is even worse. Dependencies impact CI and waiting for NPM or YARN is frustrating. The ideal CI job involves native programs for static jobs and lightweight environments for dynamic jobs. Improving formatter performance and linting is a priority. Performance optimization and fast tools are essential for CI and developers using slower hardware.
La filosofía de Yarn
DevOps.js Conf 2022DevOps.js Conf 2022
31 min
La filosofía de Yarn
Let's talk about React and TypeScript, Yarn's philosophy and long-term relevance, stability and error handling in Yarn, Yarn's behavior and open source sustainability, investing in maintenance and future contributors, contributing to the JavaScript ecosystem, open-source contribution experience, maintaining naming consistency in large projects, version consistency and strictness in Yarn, and Yarn 4 experiments for performance improvement.
Despliegue Atómico para Hipsters de JavaScript
DevOps.js Conf 2024DevOps.js Conf 2024
25 min
Despliegue Atómico para Hipsters de JavaScript
This Talk discusses atomic deployment for JavaScript and TypeScript, focusing on automated deployment processes, Git hooks, and using hard links to copy changes. The speaker demonstrates setting up a bare repository, configuring deployment variables, and using the post-receive hook to push changes to production. They also cover environment setup, branch configuration, and the build process. The Talk concludes with tips on real use cases, webhooks, and wrapping the deployment process.

Workshops on related topic

Despliegue de aplicaciones React Native en la nube
React Summit 2023React Summit 2023
88 min
Despliegue de aplicaciones React Native en la nube
WorkshopFree
Cecelia Martinez
Cecelia Martinez
Desplegar aplicaciones React Native manualmente en una máquina local puede ser complejo. Las diferencias entre Android e iOS requieren que los desarrolladores utilicen herramientas y procesos específicos para cada plataforma, incluidos los requisitos de hardware para iOS. Los despliegues manuales también dificultan la gestión de las credenciales de firma, las configuraciones de entorno, el seguimiento de las versiones y la colaboración en equipo.
Appflow es la plataforma de DevOps móvil en la nube creada por Ionic. Utilizar un servicio como Appflow para construir aplicaciones React Native no solo proporciona acceso a potentes recursos informáticos, sino que también simplifica el proceso de despliegue al proporcionar un entorno centralizado para gestionar y distribuir tu aplicación en múltiples plataformas. Esto puede ahorrar tiempo y recursos, permitir la colaboración, así como mejorar la confiabilidad y escalabilidad general de una aplicación.
En este masterclass, desplegarás una aplicación React Native para su entrega en dispositivos de prueba Android e iOS utilizando Appflow. También aprenderás los pasos para publicar en Google Play y Apple App Stores. No se requiere experiencia previa en el despliegue de aplicaciones nativas, y obtendrás una comprensión más profunda del proceso de despliegue móvil y las mejores prácticas para utilizar una plataforma de DevOps móvil en la nube para enviar rápidamente a gran escala.
Despliegue de Aplicación MERN Stack en Kubernetes
DevOps.js Conf 2022DevOps.js Conf 2022
152 min
Despliegue de Aplicación MERN Stack en Kubernetes
Workshop
Joel Lord
Joel Lord
Desplegar y gestionar aplicaciones JavaScript en Kubernetes puede volverse complicado. Especialmente cuando una base de datos también debe formar parte del despliegue. MongoDB Atlas ha facilitado mucho la vida de los desarrolladores, sin embargo, ¿cómo se integra un producto SaaS con su clúster de Kubernetes existente? Aquí es donde entra en juego el Operador de MongoDB Atlas. En este masterclass, los asistentes aprenderán cómo crear una aplicación MERN (MongoDB, Express, React, Node.js) localmente y cómo desplegar todo en un clúster de Kubernetes con el Operador de Atlas.
Azure Static Web Apps (SWA) con Azure DevOps
DevOps.js Conf 2022DevOps.js Conf 2022
13 min
Azure Static Web Apps (SWA) con Azure DevOps
WorkshopFree
Juarez Barbosa Junior
Juarez Barbosa Junior
Las Azure Static Web Apps se lanzaron a principios de 2021 y, de forma predeterminada, pueden integrar su repositorio existente y implementar su aplicación web estática desde Azure DevOps. Este masterclass demuestra cómo publicar una Azure Static Web App con Azure DevOps.
Construyendo Aplicaciones Serverless en AWS con TypeScript
Node Congress 2021Node Congress 2021
245 min
Construyendo Aplicaciones Serverless en AWS con TypeScript
Workshop
Slobodan Stojanović
Slobodan Stojanović
Este masterclass te enseña los conceptos básicos del desarrollo de aplicaciones serverless con TypeScript. Comenzaremos con una función Lambda simple, configuraremos el proyecto y la infraestructura como código (AWS CDK) y aprenderemos cómo organizar, probar y depurar una aplicación serverless más compleja.
Tabla de contenidos:        - Cómo configurar un proyecto serverless con TypeScript y CDK        - Cómo escribir una función Lambda testeable con arquitectura hexagonal        - Cómo conectar una función a una tabla DynamoDB        - Cómo crear una API serverless        - Cómo depurar y probar una función serverless        - Cómo organizar y hacer crecer una aplicación serverless


Materiales mencionados en el masterclass:
https://excalidraw.com/#room=57b84e0df9bdb7ea5675,HYgVepLIpfxrK4EQNclQ9w
Blog de DynamoDB de Alex DeBrie: https://www.dynamodbguide.com/
Excelente libro para DynamoDB: https://www.dynamodbbook.com/
https://slobodan.me/workshops/nodecongress/prerequisites.html