Mirando AWS Amplify
AWS Amplify es una colección de herramientas de AWS para ayudarle a crear aplicaciones.
Permítanme preparar el terreno aquí para intentar dejarlo lo más claro posible. Tengo un amigo (historia real) que quiere crear una aplicación centrada en el entrenamiento físico. Su esposa es preparadora física y piensan que tal vez se pueda ganar algo de dinero. No está del todo especificado, pero tal vez la aplicación venda acceso a programas de entrenamiento personalizados, ofrezca dietas personalizadas, videos de ejercicios y programe consultas individuales. ¡Me parece inteligente! Suponiendo que demuestren la idea hasta cierto punto, es hora de poner a trabajar sus habilidades de desarrollo y comenzar a construir.
Muchas de las necesidades de una aplicación como esta se asignan directa y fácilmente a Amplify. Un desarrollador que comience a planificar podría pensar así:
- Necesitamos alojar esto en algún lugar… Amplify tiene alojamiento web estático . Y tiene todas las funciones con el elegante DX que estamos empezando a exceptuar estos días: conecto un repositorio de Git y no solo realizará la implementación en un alojamiento estático global respaldado por CDN en función de las confirmaciones, sino que también ejecutará mi CI/CD ( por ejemplo, ejecutar pruebas) y darme URL para obtener una vista previa de las ramas de funciones. Todo esto se hace con la consola de AWS Amplify .
- Necesitamos realizar la autenticación de usuario … El punto aquí es que los usuarios pueden iniciar sesión para tener acceso a sus cosas. Amplify ayuda con esto (está integrado en Amazon Cognito ), lo que permite las tareas típicas de registro/inicio de sesión/olvidó su contraseña, pero también todas las cosas de inicio de sesión social que esperaría. Este es un ejemplo de lo que hace Amplify: ayuda a abstraer y desarrollar servicios en la nube subyacentes con un código mínimo.
- Necesitamos almacenamiento de datos… Idealmente, se administra con GraphQL porque mi interfaz moderna realmente se beneficia de eso (tal vez sea una aplicación React ). Amplify tiene eso. Está integrado en AWS AppSync , lo que significa que puede usar cualquier tipo de almacén de datos, pero además obtiene características sorprendentes, como los puntos finales GraphQL, sincronización de datos en tiempo real y soporte sin conexión.
Eso es sólo lo básico. Todo eso está muy bien cubierto.
¿Cómo configuramos todo esto? Esta es una de las mejores partes: hay una CLI para ayudar a hacer todo. Por ejemplo, con respecto al almacenamiento de datos, ¿cómo lo hacemos? Una vez que la CLI está instalada y hemos ejecutado amplify init
el proyecto, lo hacemos amplify add api
y se nos guiará a través de él.
Ahora, para esta aplicación de entrenamiento físico, también necesitaremos algo de almacenamiento de archivos estáticos. Quizás todos los usuarios tengan avatares personalizados y los videos en sí necesiten alojamiento protegido. Bueno, aquí estamos en tierra de AWS, por lo que los depósitos S3 encajan perfectamente. ¿Cómo? amplify add storage
y lo explicaremos y, por supuesto, hay documentos .
Impresionante, de verdad. Podemos construir casi todo esto con Amplify.
El único momento en el que podríamos tener que recurrir a otro servicio es para gestionar los pagos. Stripe suele ser la primera opción de los desarrolladores debido a su excelente DX y sus sólidas API. Están diseñados exactamente para aplicaciones como esta. Nos comunicaríamos con las API de Stripe a través de funciones sin servidor. ¿Y adivina qué? Estamos en tierra de AWS aquí, por lo que tenemos acceso a Lambdas, el mejor proveedor de funciones sin servidor que existe. El truco es que podemos hacer que nuestra configuración GraphQL, a través de AppSync, llame a un Lambda que puede comunicarse con cualquier API externa. Afortunadamente, aquí hay un tutorial detallado de Ramon Postulart.
La guía para agregar pagos a su aplicación React Native con Stripe, Expo y AWS Amplify por @ramonpostulart https://t.co/CvKl72kzw4 pic.twitter.com/T1MxsK51WC
– AWS Amplify (@AWSAmplify) 22 de mayo de 2020
Y aquí hay otro enfoque de Beez Fedia.
Así que esto es lo que creo que es importante saber:
- Amplify es una ayuda . AWS ofrece toneladas de servicios en la nube. Amplify te ayuda a unirlos y comenzar a usar los importantes que necesitas .
- El alojamiento estático es la base de un proyecto web. Este es un enfoque Jamstack. Pero incluso eso no es necesario; puedes, por ejemplo, crear una aplicación para iOS con las herramientas.
- AWS es el mayor proveedor de nube del mundo e impulsa muchos de los sitios web más grandes del mundo. Puede crear un proyecto personal aquí y normalmente hacerlo en el nivel gratuito , pero nunca tendrá que preocuparse por la ampliación. Estás en el lugar correcto para escalar.
- Hay mucho que explorar. Si un día te despiertas y quieres agregar notificaciones automáticas o explorar algo como el aprendizaje automático, esas cosas también están ahí.
Si ha leído hasta aquí, creo que este vídeo rápido de alto nivel le servirá mejor:
https://www.youtube.com/watch?v=-Vm-4BbY58Yfeature=emb_title
Otros recursos
- La página principal de recursos.
- Nadar Dabit escribe mucho sobre Amplify:
- Egghead: creación de API de AWS AppSync mediante la CLI de AWS Amplify
- Aquí en CSS-Tricks: ingresar a GraphQL con AWS AppSync
- Blog de startups de AWS: cómo desarrollar su aplicación desde la idea hasta el MVP
- DEV: Full Stack Serverless: creación de una aplicación de chat en tiempo real con GraphQL, CDK, AppSync y React
- Shawn Wang:
- Dave y yo charlamos con él recientemente en ShopTalk
- Primer vistazo a AWS Amplify Flutter (vista previa para desarrolladores)
- Typesafe, Fullstack React y GraphQL con AWS Amplify
Deja un comentario