9 razones para crear su aplicación web con Jamstack

Construir una aplicación flexible e iterable en poco tiempo puede ser un desafío. Las nubes conocidas como AWS, Azure y GCP ayudan a ofrecer aplicaciones web escalables con bajos costos en unas pocas semanas. Elija una base de datos administrada, mueva el código de la aplicación a contenedores Docker o funciones de back-end e implemente todo en cualquier cambio de código. Así es como se ve el desarrollo de aplicaciones modernas, ¿verdad?

En esta publicación, describiré las cosas más importantes necesarias para desarrollar y distribuir software a un ritmo asombroso, con una aplicación Next.js escrita en TypeScript, implementada a través de Vercel y respaldada por una base de datos sin servidor llamada FaunaDB. Explicaré cada una de estas cosas en detalle, agregando algunos ejemplos aquí y allá. Recomiendo encarecidamente probarlos todos. Todos ellos tienen generosos niveles gratuitos y pueden ser utilizados por un pequeño equipo de desarrolladores de hasta tres miembros.

El uso de plataformas de implementación centradas en el desarrollador en combinación con ofertas sin servidor se resume como Jamstack. "JAM" significa JavaScript, API y marcado. Puede encontrar más información sobre Jamstack en //jamstack.org/.

La implementación es un detalle de implementación

La cantidad de servicios que puedo usar en una nube es abrumadora. En este momento, AWS tiene 250 servicios diferentes. Necesito definir cómo conectar y configurar implementaciones para mis nuevas funciones, para mi entorno de no producción y para mi entorno de producción.

Si estoy trabajando en un proyecto con varios desarrolladores en paralelo, me encantaría simplemente pasar una URL a mi compañero de trabajo para compartir mi rama de funciones actual.

Además, necesito configurar dominios y subdominios, escalar el servicio, conectar puntos finales públicos, administrar conexiones de bases de datos, configurar la administración de secretos, etc. 

La plataforma Vercel se conecta a la perfección con sistemas de control de versiones como GitHub o GitLab. Simplemente conecto mi repositorio y adapto la configuración del nombre de host de mi servidor de nombres y listo.

En mi proyecto actual, he definido algunas tareas prácticas de npm que se utilizan en cada compilación para garantizar que nuestro software funcione y cumpla con los estándares y las mejores prácticas de software:

{

"guiones": {

    "tsc": "tsc", // comprobar la seguridad de tipos

    "lint": "eslint", // realizar análisis de código estático

    "lint: ci": "eslint --max-warnings = 0",

    "lint: fix": "eslint --fix",

    "test": "jest --watch", // ejecutar pruebas

    "prueba: ci": "broma --ci",

    "prueba: cobertura": "broma - cobertura",

    "comprobaciones": "npm-run-all lint: ci tsc test: ci",

    "dev": "env-cmd next dev", // inicia el entorno de desarrollo local

    "inicio": "siguiente",

    "start-port": "siguiente inicio -p $ PORT",

    "compilación": "siguiente compilación",

    "now-build": "compilación de comprobaciones npm-run-all", // compilación de CI

    "servir": "siguiente comienzo",

  }

}

De forma predeterminada, Vercel ejecuta la now-buildtarea en cada compilación. Esto desencadena algunas otras tareas que verifican estáticamente nuestro código, ejecutan todas las pruebas y compilan nuestro software.

Debido al hecho de que todo simplemente funciona, obtengo muchas características de la plataforma de implementación listas para usar. Me beneficié de las próximas mejoras sin que me den problemas en el futuro.