Amplificar, amplificar

Primero, rápidamente: AWS Amplify tiene una nueva interfaz de usuario de administración . Amplify siempre tuvo una CLI que te ayuda a crear proyectos configurando cosas como autenticación, almacenamiento y API. Eso es muy útil, pero ahora puedes hacer esas cosas con la nueva interfaz de usuario de administración. Y más, como modelar sus datos (!!), directamente desde una interfaz de usuario local. Eso es genial para gente como… yo (me gustan mis GUI).

Ahora, más lento.

Comencemos con la idea de Jamstack. Hosting estático + Servicios, ¿verdad? Amplify es eso: el alojamiento estático es parte de la oferta. Conectas un proyecto de Amplify con un repositorio de Git (no es necesario, puedes cargar un zip, pero seamos realistas). Cuando ingresa a la rama designada en ese repositorio (probablemente maino master), se implementa. Eso es parte de la magia del desarrollo actual que todos sabemos y amamos esperar.

El alojamiento estático puede ser todo lo que necesita. Hecho.

Pero muchos sitios necesitan más. Tal vez su sitio esté renderizado del lado del cliente (para algunos de ellos), por lo que JavaScript accede a una API para los datos y luego los renderiza. ¿Qué datos? ¿Qué API? AWS tiene estas cosas para usted. Para nosotros, los front-end, probablemente sea AWS AppSync , que es como GraphQL en tiempo real (genial). ¿Cómo se configura eso? Bueno, puedes hacerlo en la CLI, pero ahora es mucho más fácil con la interfaz de usuario de administración de Amplify .

Digamos que estás construyendo una estructura de blog. Los blogs tienen publicaciones, las publicaciones tienen comentarios. Y entonces:

Te lo diré, viniendo de una educación en WordPress y identificándome principalmente como desarrollador front-end, esto me parece factible. No está lejos de usar campos personalizados avanzados en WordPress para modelar algunos datos para un tipo de publicación personalizada. No es de extrañar que la línea entre el desarrollo front-end y el back-end sea tan gris.

Ahora que la interfaz de usuario de administración de Amplify tiene estos datos modelados, puedo incorporarlos a mi proyecto y se simula todo el esquema.

Soy optimista con GraphQL, pero puedo decirles que, en general, toda su configuración se me escapa. En general, estoy muy contento de ser consumidor de una API GraphQL que ya está configurada o de realizar pequeños ajustes. Sin embargo, esto me parece factible. El constructor visual y el andamiaje gratuito del esquema… sí, por favor.

En este punto, ya tiene este proyecto que puede probar e implementar. Una vez implementado, hay un almacén de datos real en la nube listo para almacenar datos. ¿Como lo usas? ¡Es hora CRUD! Crear, replicar, actualizar y eliminar, los inquilinos principales de todos los buenos sitios web, ¿verdad? Bueno, es sólo JavaScript™. Así es como se crea un nuevo blog y luego una publicación en ese blog:

import { DataStore } from '@aws-amplify/datastore';import { Blog } from './models';const newBlog = await DataStore.save( new Blog({   "name": "Name of Blog" }));await DataStore.save( new Post({   "title": "Blog Post Title",   "blogID": newBlog.id }));

Todo eso funciona porque la base de datos existe y nuestra aplicación sabe todo sobre el modelo de datos. Pero, ¿qué hay DataStoreen AWS Amplify ? Esa es otra cosa en la que ayuda AWS Amplify. Tienen bibliotecas para hacer todo esto más fácil. No tienes que escribir fetchllamadas manualmente ni manejar errores y todo eso… Las bibliotecas de Amplify hacen la vida más fácil con todo tipo de ayudas (como ves arriba).

Con toda esa configuración, esta diapositiva que vi en su vista previa para desarrolladores y de la que obtuve un vistazo debería tener sentido.

Volviendo a lo de Jamstack… ahora tenemos Static Hosting y podemos implementar nuestro sitio web en él. Por cierto, eso puede ser cualquier cosa. Algo básico de HTML/CSS/JavaScript. Una aplicación React, Vue o Angular. Aplicaciones nativas también. A Amplify no le importa, solo ayuda con la implementación y los servicios.

Aquí hay un vistazo a la interfaz de usuario del administrador , donde puede ver la navegación con todos los servicios que puede configurar, la actividad de implementación, la capacidad de modelar (y editar) datos, etc.:

¿Qué más hay ahí dentro? Con autenticación para uno. Si almacena datos y los administra con API, es muy probable que también tenga que lidiar con la autenticación. Amplify lo tiene cubierto. ¿Necesita algo para ejecutar algún código del lado del servidor? Tienes tus funciones ahí, por supuesto. Lambdas (funciones sin servidor) son el pan y la mantequilla de AWS. ¿Analítica? Puedes apostar.

Otra cosa que seguramente te interesará son las diferentes historias de desarrollo. ¿Cómo es el desarrollo local? Bueno, es súper bueno. ¡¿Adivina qué?! Esas capturas de pantalla de arriba de la interfaz de usuario del administrador… no son un panel en línea en la consola de AWS, sino que están alojados localmente en su propio sitio. Todo este modelado, almacenamiento y edición de datos y demás ocurre localmente. Entonces puedes esforzarte por vivir en cualquier entorno. La producción, por supuesto, pero también cualquier tipo de entorno de puesta en escena que necesites.

Cuando necesite datos de producción extraídos localmente, simplemente… hágalo (con un comando que se le proporciona directamente en la interfaz de usuario del administrador).

Puedes unirte al equipo de Amplify para obtener más información; harán una demostración en Twitch con preguntas y respuestas esta semana:

Jueves 3 de diciembre de 10 a 11 a. m. PST/ 7 p. m. GMT
Viernes 4 de diciembre de 1 a 3 p. m. PST / 9 p. m. GMT
www.twitch.tv/aws

Creo que este nuevo mundo de la interfaz de usuario de administración abrirá AWS Amplify a mucha más gente. Tener una interfaz de usuario para administrar su sitio se siente mejor . Para alguien como yo, me da una comprensión más completa de lo que sucede con el backend y los servicios, y más control sobre las cosas. Y, aún así, dame total libertad desde el principio para hacer lo que quiero hacer y también manejar muchas de las cosas que no hago (implementación, SSL, etc.)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir