Construyendo APIs GraphQL sin servidor en tiempo real en AWS con TypeScript y CDK

Rate this content
Bookmark

CDK (Cloud development kit) permite a los desarrolladores construir infraestructura en la nube utilizando lenguajes de programación populares como Python, TypeScript o JavaScript. CDK es una abstracción de nivel superior en infraestructura como código, lo que permite a los desarrolladores que tradicionalmente no estaban familiarizados con la computación en la nube construir APIs y servicios web escalables utilizando sus habilidades existentes, y hacerlo en solo unas pocas líneas de código.


En esta charla, aprenderás cómo utilizar la versión de TypeScript de CDK para construir una API en tiempo real altamente escalable con GraphQL, Lambda, DynamoDB y AWS AppSync. Al final de la charla, codificaré en vivo una API desde cero en solo un par de minutos y luego probaré consultas, mutaciones y suscripciones.


Al final de la charla, deberías tener una buena comprensión de GraphQL, AppSync y CDK y estar listo para construir una API en tu próximo proyecto utilizando TypeScript y CDK.

FAQ

El nuevo sitio web ofrece artículos gratuitos, videos, cursos y tutoriales enfocados en aprender todo sobre React.js y otros temas relacionados con JavaScript.

Puedes acceder a los nuevos cursos de React.js haciendo clic en el enlace de la descripción proporcionado en el sitio web.

GraphQL es un lenguaje de consulta para APIs que permite a los usuarios pedir exactamente lo que necesitan, haciendo las APIs más eficientes y flexibles comparadas con los puntos finales REST tradicionales.

AWS AppSync es un servicio administrado de GraphQL que facilita la construcción de aplicaciones al proporcionar una capa de API consistente que integra diversas fuentes de datos y utiliza GraphQL para optimizar las consultas y mutaciones.

El CDK (Cloud Development Kit) de AWS es una herramienta que permite escribir infraestructura como código usando lenguajes de programación familiares como TypeScript o JavaScript, simplificando la creación y gestión de recursos en la nube.

Las suscripciones en AppSync se basan en eventos y permiten actualizaciones en tiempo real en las aplicaciones. Son especialmente útiles para características como chats en vivo o notificaciones de actualizaciones de datos.

GraphQL permite un control más granular sobre los datos que se solicitan y se envían, lo que reduce el ancho de banda y mejora la performance en aplicaciones que corren en diversas plataformas como web, móviles y otros dispositivos.

Nader Dabit
Nader Dabit
25 min
17 Jun, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Esta charla proporciona una introducción a JavaScript y React, así como información sobre cómo construir APIs GraphQL sin servidor en tiempo real con TypeScript, AppSync y CDK. Cubre los conceptos de esquema GraphQL, fuentes de datos y resolvers, así como el uso de suscripciones GraphQL para comunicación en tiempo real. La charla también destaca las características de AppSync y CDK para construir APIs e infraestructura. Concluye con una demostración de cómo crear una API con CDK y AppSync, incluida la creación de funciones Lambda y tablas DynamoDB.

1. Introducción a JavaScript y React

Short description:

Hemos creado un nuevo sitio web para que explores el mundo de JavaScript. Estamos ofreciendo artículos gratuitos, videos, cursos y tutoriales para ayudarte a aprender todo sobre React.

Hemos creado un nuevo sitio web para que explores el mundo de JavaScript. Estamos ofreciendo artículos gratuitos, videos, cursos y tutoriales para ayudarte a aprender todo sobre React. Haz clic en el enlace de la descripción para obtener más información sobre todos los nuevos cursos de React.js. También hemos creado una nueva lista de reproducción para que la revises. Hemos agregado muchos cursos nuevos y también ofreceremos artículos gratuitos en la web y en dispositivos móviles en el futuro. Haz clic en el enlace de la descripción para obtener más información sobre todos los otros cursos que hemos creado. Haz clic en el enlace de la descripción para obtener más información sobre todos los otros cursos que hemos creado.

2. Building Real-Time Serverless GraphQL APIs

Short description:

Voy a hablar sobre la creación de APIs GraphQL sin servidor en tiempo real con TypeScript, AppSync y CDK. Comenzaremos con una introducción a GraphQL, luego discutiremos AWS AppSync y Manage GraphQL Service, seguido de una breve introducción a CDK. También realizaré una demostración de codificación en vivo para mostrar cómo funcionan todos estos componentes juntos. GraphQL te permite definir un esquema que representa tus tipos de datos y operaciones. Ofrece más control sobre la latencia y transferencia de datos de la API, devolviendo respuestas en JSON. Una API GraphQL consta de tres partes principales, comenzando con el esquema.

De acuerdo, hola a todos y muchas gracias por asistir a mi charla hoy. Estoy muy emocionado de hablar sobre este tema porque es algo que he estado usando mucho últimamente y es realmente poderoso. Voy a hablar sobre la creación de APIs GraphQL sin servidor en tiempo real con TypeScript, AppSync y CDK. Mi nombre es Nader Dabit, soy un Defensor Principal de Desarrolladores y soy desarrollador de front-end y móvil de profesión. Recientemente, he estado trabajando con AWS y servicios de backend durante los últimos años. Últimamente, me he estado enfocando en la creación de aplicaciones full-stack en la nube y sin servidor. Así que vamos a empezar porque tenemos mucho que cubrir.

Voy a hablar sobre algunas cosas y todas están relacionadas entre sí. Primero, comenzaremos con una introducción a GraphQL. Luego, hablaremos sobre AWS AppSync y Manage GraphQL Service. Después, haremos una breve introducción a CDK. Luego, hablaremos sobre cómo todos estos componentes se relacionan entre sí, AppSync, CDK y GraphQL. Después, realizaré una demostración de codificación en vivo. Creo que la demostración de codificación en vivo te mostrará cómo funciona todo esto mejor que cualquier presentación. Pero espero que al poner todo esto junto te sea realmente útil y aprendas algo.

Entonces, hablemos un poco sobre GraphQL. Si buscas en Internet y encuentras la definición de GraphQL, podrías ver algo como esto. Un lenguaje de consulta para tu API. Esto no dice mucho. Vamos a profundizar un poco más. Con GraphQL, tienes tu, casi como un menú de tus datos, que es tu esquema GraphQL. El esquema tiene todos los diferentes tipos de datos, que son básicamente tipos, y todas las operaciones contra esos tipos. Por ejemplo, puedes tener una aplicación de tareas pendientes. Podrías pensar en algo como un tipo de tarea pendiente. Y luego, podrías tener operaciones para crear, leer, actualizar y eliminar tus tareas pendientes. Todo eso se define en tu esquema. Y una vez que hayas implementado tu API, y hablaremos un poco más sobre eso en un momento, simplemente puedes solicitar los datos que deseas. Esto es algo que probablemente hayas escuchado antes, si alguna vez has investigado sobre GraphQL, es que una de las cosas realmente poderosas es que tienes la capacidad de construir APIs con una latencia mucho menor y más controladas que cuando trabajas con puntos finales REST porque tienes mucho más control sobre los datos que se envían de ida y vuelta a través de la red, y luego recibes tus datos de respuesta devueltos en JSON.

Entonces, una API GraphQL está compuesta por tres partes principales. Tienes tu esquema, del que hablaremos en un momento.

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

De GraphQL Zero a GraphQL Hero con RedwoodJS
GraphQL Galaxy 2021GraphQL Galaxy 2021
32 min
De GraphQL Zero a GraphQL Hero con RedwoodJS
Top Content
Todos amamos GraphQL, pero puede ser desalentador poner en marcha un servidor y mantener tu código organizado, mantenible y testeable a largo plazo. ¡No más! Ven a ver cómo paso de un directorio vacío a una API GraphQL completamente desarrollada en cuestión de minutos. Además, verás lo fácil que es usar y crear directivas para limpiar aún más tu código. ¡Vas a amar aún más GraphQL una vez que hagas las cosas Redwood Easy!
TypeScript y React: Secretos de un matrimonio feliz
React Advanced Conference 2022React Advanced Conference 2022
21 min
TypeScript y React: Secretos de un matrimonio feliz
Top Content
TypeScript y React son inseparables. ¿Cuál es el secreto de su exitosa unión? Bastante código extrañamente extraño. Aprende por qué useRef siempre se siente extraño, cómo manejar los genéricos en los hooks personalizados y cómo los tipos de unión pueden transformar tus componentes.
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Vue.js London Live 2021Vue.js London Live 2021
24 min
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Top Content
¿Cuántas veces has implementado el mismo flujo en tu aplicación: verificar si los datos ya se han obtenido del servidor, si es así - renderizar los datos, si no - obtener estos datos y luego renderizarlos? Creo que lo he hecho más de diez veces yo mismo y he visto la pregunta sobre este flujo más de cincuenta veces. Desafortunadamente, nuestra biblioteca de gestión de estado predeterminada, Vuex, no proporciona ninguna solución para esto.Para la aplicación basada en GraphQL, había una alternativa para usar el cliente Apollo que proporcionaba herramientas para trabajar con la caché. Pero, ¿qué pasa si usas REST? Afortunadamente, ahora tenemos una alternativa de Vue a una biblioteca de react-query que proporciona una buena solución para trabajar con la caché del servidor. En esta charla, explicaré la distinción entre el estado de la aplicación local y la caché del servidor local y haré algo de codificación en vivo para mostrar cómo trabajar con este último.
Los tipos más útiles de React
React Day Berlin 2023React Day Berlin 2023
21 min
Los tipos más útiles de React
Top Content
No pensamos en React como si tuviera sus propios tipos. Pero los tipos de React son una parte fundamental del marco de trabajo - supervisados por el equipo de React, y coordinados con las principales lanzamientos de React.En esta charla de codificación en vivo, veremos todos los tipos que te has estado perdiendo. ¿Cómo obtienes el tipo de props de un componente? ¿Cómo sabes qué ref toma un componente? ¿Deberías usar React.FC? ¿Y qué pasa con JSX.Element?Te irás con un montón de ideas emocionantes para llevar a tus aplicaciones de React, y esperamos que con una nueva apreciación por las maravillas de React y TypeScript trabajando juntos.
Deja de Escribir tus Rutas
Vue.js London 2023Vue.js London 2023
30 min
Deja de Escribir tus Rutas
Cuanto más trabajas en una aplicación, más complicado se vuelve su enrutamiento y más fácil es cometer un error. "¿Se llamaba la ruta usuarios o usuario?", "¿Tenía un parámetro id o era userId?". Si solo TypeScript pudiera decirte cuáles son los nombres y parámetros posibles. Si solo no tuvieras que escribir una sola ruta más y dejar que un complemento lo haga por ti. En esta charla repasaremos lo que se necesitó para traer rutas automáticamente tipadas para Vue Router.
Haciendo Magia: Construyendo un Marco de Trabajo Primero-TypeScript
TypeScript Congress 2023TypeScript Congress 2023
31 min
Haciendo Magia: Construyendo un Marco de Trabajo Primero-TypeScript
Voy a profundizar en los internos de Nuxt para describir cómo hemos construido un marco de trabajo primero-TypeScript que está profundamente integrado con el IDE del usuario y la configuración de comprobación de tipos para ofrecer seguridad de tipo de pila completa de extremo a extremo, sugerencias para diseños, middleware y más, opciones de configuración de tiempo de ejecución tipadas e incluso enrutamiento tipado. Además, destacaré lo que más me emociona hacer en los días venideros y cómo TypeScript hace eso posible no solo para nosotros sino para cualquier autor de bibliotecas.

Workshops on related topic

React, TypeScript y TDD
React Advanced Conference 2021React Advanced Conference 2021
174 min
React, TypeScript y TDD
Top Content
Featured WorkshopFree
Paul Everitt
Paul Everitt
ReactJS es extremadamente popular y, por lo tanto, ampliamente soportado. TypeScript está ganando popularidad y, por lo tanto, cada vez más soportado.

¿Los dos juntos? No tanto. Dado que ambos cambian rápidamente, es difícil encontrar materiales de aprendizaje precisos.

¿React+TypeScript, con los IDEs de JetBrains? Esa combinación de tres partes es el tema de esta serie. Mostraremos un poco sobre mucho. Es decir, los pasos clave para ser productivo, en el IDE, para proyectos de React utilizando TypeScript. En el camino, mostraremos el desarrollo guiado por pruebas y enfatizaremos consejos y trucos en el IDE.
Construir con SvelteKit y GraphQL
GraphQL Galaxy 2021GraphQL Galaxy 2021
140 min
Construir con SvelteKit y GraphQL
Top Content
Featured WorkshopFree
Scott Spence
Scott Spence
¿Alguna vez has pensado en construir algo que no requiera mucho código de plantilla con un tamaño de paquete pequeño? En esta masterclass, Scott Spence irá desde el hola mundo hasta cubrir el enrutamiento y el uso de endpoints en SvelteKit. Configurarás una API de GraphQL en el backend y luego usarás consultas de GraphQL con SvelteKit para mostrar los datos de la API de GraphQL. Construirás un proyecto rápido y seguro que utiliza las características de SvelteKit, y luego lo desplegarás como un sitio completamente estático. Este curso es para los curiosos de Svelte que no han tenido una experiencia extensa con SvelteKit y quieren una comprensión más profunda de cómo usarlo en aplicaciones prácticas.

Tabla de contenidos:
- Inicio e introducción a Svelte
- Inicializar el proyecto frontend
- Recorrido por el proyecto esqueleto de SvelteKit
- Configurar el proyecto backend
- Consultar datos con GraphQL
- Recuperación de datos en el frontend con GraphQL
- Estilización
- Directivas de Svelte
- Enrutamiento en SvelteKit
- Endpoints en SvelteKit
- Despliegue en Netlify
- Navegación
- Mutaciones en GraphCMS
- Envío de mutaciones GraphQL a través de SvelteKit
- Preguntas y respuestas
Mejores Prácticas y Consejos Avanzados de TypeScript para Desarrolladores de React
React Advanced Conference 2022React Advanced Conference 2022
148 min
Mejores Prácticas y Consejos Avanzados de TypeScript para Desarrolladores de React
Top Content
Featured Workshop
Maurice de Beijer
Maurice de Beijer
¿Eres un desarrollador de React tratando de obtener los máximos beneficios de TypeScript? Entonces esta es la masterclass para ti.En esta masterclass interactiva, comenzaremos desde lo básico y examinaremos los pros y contras de las diferentes formas en que puedes declarar componentes de React usando TypeScript. Después de eso, pasaremos a conceptos más avanzados donde iremos más allá de la configuración estricta de TypeScript. Aprenderás cuándo usar tipos como any, unknown y never. Exploraremos el uso de predicados de tipo, guardias y comprobación exhaustiva. Aprenderás sobre los tipos mapeados incorporados, así como cómo crear tus propias utilidades de mapa de tipo nuevo. Y comenzaremos a programar en el sistema de tipos de TypeScript usando tipos condicionales e inferencia de tipos.
Seguridad de tipo de extremo a extremo con React, GraphQL y Prisma
React Advanced Conference 2022React Advanced Conference 2022
95 min
Seguridad de tipo de extremo a extremo con React, GraphQL y Prisma
Featured WorkshopFree
Sabin Adams
Sabin Adams
En este masterclass, obtendrás una visión de primera mano de lo que es la seguridad de tipo de extremo a extremo y por qué es importante. Para lograr esto, construirás una API de GraphQL utilizando herramientas modernas y relevantes que serán consumidas por un cliente de React.
Prerrequisitos: - Node.js instalado en tu máquina (12.2.X / 14.X)- Se recomienda (pero no es obligatorio) utilizar VS Code para las tareas prácticas- Un IDE instalado (se recomienda VSCode)- (Bueno tener) *Un conocimiento básico de Node.js, React y TypeScript
GraphQL para Desarrolladores de React
GraphQL Galaxy 2022GraphQL Galaxy 2022
112 min
GraphQL para Desarrolladores de React
Featured Workshop
Roy Derks
Roy Derks
Hay muchas ventajas en utilizar GraphQL como fuente de datos para el desarrollo frontend, en comparación con las API REST. Nosotros, los desarrolladores, por ejemplo, necesitamos escribir mucho código imperativo para recuperar datos y mostrarlos en nuestras aplicaciones y manejar el estado. Con GraphQL, no solo puedes reducir la cantidad de código necesario para la obtención de datos y la gestión del estado, sino que también obtendrás una mayor flexibilidad, mejor rendimiento y, sobre todo, una mejor experiencia de desarrollo. En este masterclass aprenderás cómo GraphQL puede mejorar tu trabajo como desarrollador frontend y cómo manejar GraphQL en tu aplicación frontend de React.
Construye una aplicación WordPress sin cabeza con Next.js y WPGraphQL
React Summit 2022React Summit 2022
173 min
Construye una aplicación WordPress sin cabeza con Next.js y WPGraphQL
Top Content
WorkshopFree
Kellen Mace
Kellen Mace
En esta masterclass, aprenderás cómo construir una aplicación Next.js que utiliza Apollo Client para obtener datos de un backend de WordPress sin cabeza y usarlo para renderizar las páginas de tu aplicación. Aprenderás cuándo debes considerar una arquitectura de WordPress sin cabeza, cómo convertir un backend de WordPress en un servidor GraphQL, cómo componer consultas usando el IDE GraphiQL, cómo colocar fragmentos GraphQL con tus componentes, y más.