¡De código a escala! Construye una aplicación web estática en minutos

Rate this content
Bookmark

Has construido una aplicación y quieres que escale. ¿Quieres CI/CD, dominios personalizados, certificados SSL, APIs, escala global de tus activos estáticos, autenticación y autorización? Aprendamos cómo construir una aplicación web estática en Azure y pasar de un repositorio de GitHub a escala global en minutos.

FAQ

Azure Static Web Apps es un servicio en la nube que permite manejar aplicaciones web estáticas, integrando características como CI/CD, autorización, autenticación y distribución global.

Para configurar un dominio personalizado, primero se debe comprar el dominio y luego configurar el CNAME en el DNS. Posteriormente, se valida el dominio en Azure para asegurarse de que el usuario tenga los permisos necesarios.

Azure Static Web Apps es compatible con una amplia gama de marcos de trabajo JavaScript, incluidos Jekyll, Nuxt, Next, Gatsby, Hugo, VuePress, Angular, React, y muchos otros.

Azure Static Web Apps admite autenticación a través de varios proveedores como Twitter, GitHub, Azure Active Directory, Google y Facebook. Además, se pueden configurar rutas con restricciones de acceso según los roles de los usuarios.

CI/CD se refiere a la integración continua y la entrega o despliegue continuo. Azure Static Web Apps integra CI/CD a través de GitHub Actions, permitiendo la automatización de pruebas y el despliegue de aplicaciones.

Azure Static Web Apps permite utilizar tecnologías serverless como Azure Functions para manejar las APIs y la lógica del backend sin necesidad de mantener una infraestructura de servidor propia.

Azure Static Web Apps está diseñado para escalar globalmente, desplegando la aplicación cerca de los usuarios finales en diferentes ubicaciones alrededor del mundo, lo que mejora la velocidad y el rendimiento.

Los beneficios incluyen facilidad de uso, integración con GitHub para CI/CD, autenticación pre-configurada, manejo simplificado de dominios personalizados y SSL, y escalabilidad global automática.

John Papa
John Papa
31 min
18 Jun, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

La charla discute el desarrollo de aplicaciones web y los desafíos involucrados, como la gestión de código, CI/CD, enrutamiento, seguridad y escalabilidad. Explora el uso de Azure Static Web Apps para construir e implementar aplicaciones web estáticas con características como autorización, autenticación y tecnología sin servidor. Se demuestra el proceso de creación de una aplicación web estática en Azure Portal, junto con la creación de recursos, implementación y configuración de dominio personalizado. La charla también cubre la implementación de API, autenticación, autorización y control de acceso basado en roles. Azure Static Web Apps se destaca como una solución distribuida a nivel mundial para construir aplicaciones web.

1. Introducción al desarrollo de aplicaciones web

Short description:

Has construido una aplicación que conecta a las personas que necesitan comestibles con aquellos que pueden proporcionarlos. Después de desarrollar tu aplicación, debes considerar la gestión de código, CI/CD, APIs, enrutamiento, seguridad, autenticación, autorización y escalabilidad global. Hay más de 30 frameworks disponibles para construir aplicaciones web, lo cual ha cambiado fundamentalmente el proceso de desarrollo. Ahora construimos aplicaciones del lado del cliente que se ejecutan completamente en el navegador, lo que requiere un nuevo tipo de aplicación para manejar este cambio.

Gracias a todos por recibirme aquí en JS Nation y a todos los organizadores por organizar esto hoy. Quiero comenzar con una pequeña historia para ustedes. Has construido una aplicación, eres un desarrollador, esto es lo que haces y tu aplicación conecta a las personas que necesitan obtener comestibles con aquellas personas que pueden proporcionarlos. Ahora millones de personas podrían usar esto hoy en el mundo, así que pensemos en lo que necesitarías después de desarrollar tu aplicación. Por supuesto, necesitas tu código y probablemente lo almacenas en un lugar como GitHub y quieres subirlo a GitHub para asegurarte de que tu código esté disponible y sea de código abierto pero también quieres CI CD. ¿Tienes esto para asegurarte de que lo estás testing y construyendo y luego lanzando nuevas versiones? ¿Qué hay de tus API? ¿Estás configurado para tener API y funciones serverless o un servicio backend o cómo se coordina todo eso? Y luego debes asegurarte de que tienes configurado el enrutamiento correctamente. Entonces tienes tu aplicación, tienes tus API, ¿se comunican bien entre sí? ¿Necesitas configurar cores? ¿Qué hay de un proxy inverso? Ahora llegamos a cosas como seguridad. ¿Tienes certificados SSL en un dominio personalizado? Por supuesto, quieres tu propio dominio para tu sitio web público. ¿Cómo estableces esto y qué hay de la autenticación? Quieres asegurarte de saber quiénes son las personas que inician sesión en su aplicación para asegurarte de que estén autenticados y, por supuesto, la autorización para asegurarte de que los roles que proporcionan en tu aplicación ya estén establecidos. ¿Y qué hay de la escala global? Puedes estar en Europa, Asia, Estados Unidos o Sudamérica, puedes estar en cualquier lugar y tus usuarios también pueden estar en cualquier lugar. ¿Tu aplicación se escala en todo el mundo? ¡Vaya, solo querías construir una aplicación, ¿verdad? Solo tenías tu código y bueno, ¿con qué construiste tu código con? ¿Usaste algo como Angular o tal vez usaste react o posiblemente algo más nuevo como Svelte o tal vez eres desarrollador de Vue o algo completamente diferente? Hay más de 30 frameworks diferentes que podrías estar usando hoy y estoy seguro de que ese número es aún mayor. Entonces, las herramientas de hoy han cambiado fundamentalmente cómo construimos aplicaciones web. Ya no tenemos un runtime de servidor que tenemos que producir nuestros sitios web y constantemente hacer estas actualizaciones de página. Ahora estamos construyendo aplicaciones basadas en el lado del cliente o aplicaciones web estáticas que usamos y las aplicaciones se construyen y luego se ejecutan completamente en el navegador. Entonces hemos trasladado estas responsabilidades de la aplicación desde el servidor completamente al cliente y necesitamos un nuevo tipo de aplicación para manejar esto. Así es como funciona el proceso, donde tenemos un NPM run build o cualquier comando que puedas tener y todo tu código debe ser construido antes de

2. Construcción e implementación de aplicaciones web estáticas

Short description:

El proceso de construcción genera activos estáticos como HTML, JavaScript y CSS. Los servidores web tradicionales no pueden manejar los pasos de construcción, por lo que se necesita un nuevo tipo de servicio en la nube como Azure Static Web Apps. Con Azure Static Web Apps, puedes construir y alojar tus aplicaciones web, manejar la autorización y autenticación, utilizar tecnología serverless con Azure Functions e implementar la integración y implementación continua. Detrás de escena, tu código se envía a un repositorio de GitHub, lo que desencadena una acción de GitHub que construye e implementa el contenido estático y las APIs. El resultado es una aplicación web estática implementada globalmente. Vamos a realizar una demostración donde crearemos una aplicación, la conectaremos a una API y cubriremos la autorización y autenticación.

El proceso de construcción genera activos estáticos como HTML, JavaScript y CSS. Los servidores web tradicionales no pueden manejar los pasos de construcción que requieren las aplicaciones, solo sirven el código. Necesitamos un nuevo tipo de servicio en la nube, como Azure Static Web Apps, para manejar esto y aquí es donde herramientas como Azure Static Web Apps realmente pueden ayudarte. Gracias por venir hoy, mi nombre es John Papa y te mostraré cómo puedes construir e implementar una aplicación web estática en solo minutos. Así que hablemos sobre qué son las aplicaciones web estáticas y cómo Azure Static Web Apps te ayuda a lograrlo. En este proceso, vas a construir y alojar tus aplicaciones web. Quieres construirlas y alojarlas, esa es la parte clave. Es posible que también desees autorización y autenticación, saber quiénes son los usuarios y qué pueden hacer. También es posible que desees tener APIs. La mayoría de las aplicaciones tienen datos en algún lugar, por lo que vamos a utilizar tecnología serverless, en este caso, utilizando Azure Functions. También quieres tener CI/CD, integración continua para construir y probar tus aplicaciones de manera constante, y implementación continua para implementar tus aplicaciones en producción o tal vez en una URL de vista previa para no interrumpir tu sitio de producción cuando quieras ver qué está sucediendo. Ahora, echemos un vistazo a lo que realmente está sucediendo detrás de escena. Aquí tenemos un repositorio de GitHub. Todo nuestro código podría estar en él, y decidí que mi código está en una carpeta de la aplicación, y mi tecnología serverless está en una carpeta de API. Puedes poner el tuyo donde desees, y luego subimos nuestro código a GitHub y tal vez hacemos una solicitud de extracción a una rama, y esto dispara una acción de GitHub, un archivo de flujo de trabajo que luego ejecuta nuestros comandos. ¿Qué hace eso? Ejecuta npm run build y luego implementa el contenido estático, es decir, HTML, JavaScript y CSS, en un sitio web, y si los tenemos, nuestras APIs con Azure Functions, que son opcionales en este proceso. Luego, colectivamente, esas dos cosas se convierten en nuestra aplicación web estática y se implementan globalmente en todo el mundo con múltiples puntos de presencia. Eso es lo que está sucediendo detrás de escena. Ahora es el momento de ver qué está sucediendo y probarlo nosotros mismos. Así que vamos a realizar una demostración, pero antes de hacerlo, veamos qué vamos a hacer. Vamos a crear una aplicación y la vamos a conectar a una API. Así que tenemos nuestros datos con la aplicación. Y luego vamos a cubrir la autorización y autenticación. Comencemos donde comienzas, y eso es con tu código en GitHub. Pasemos a nuestra aplicación. Aquí tenemos un repositorio de GitHub que también puedes revisar. El mío se llama jsnationlive2020. Y lo que quiero hacer es tomar esta aplicación, que puedes ver que tengo Angular, React, Svelte y Vue aquí. Normalmente no ejecutaría los cuatro, pero hoy elegiré Svelte, ¿por qué no? Esta aplicación está escrita en cuatro tecnologías diferentes, para que puedas probarla tú mismo.

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

Diseño Dirigido por Dominio con Aplicaciones Vue
Vue.js London 2023Vue.js London 2023
14 min
Diseño Dirigido por Dominio con Aplicaciones Vue
Top Content
Introducción al Diseño Dirigido por Dominio- ¿Qué es DDD?- Principios clave de DDD- Beneficios de usar DDD en el desarrollo de aplicaciones webModelado de Dominio en Aplicaciones Vue 3- Cómo diseñar e implementar modelos de dominio en Vue 3- Estrategias para integrar la lógica de dominio con el modelo de datos reactivo de Vue y la arquitectura basada en componentesMejores Prácticas para Implementar DDD en Vue 3- Estrategias para organizar el código de una manera que siga los principios de DDD- Técnicas para reducir el acoplamiento entre la lógica de dominio y la lógica de la aplicación- Consejos para probar y depurar la lógica de dominio en las aplicaciones Vue 3
Cómo compartir código entre una aplicación web de React y una aplicación móvil de React Native en Monorepo
React Summit 2022React Summit 2022
7 min
Cómo compartir código entre una aplicación web de React y una aplicación móvil de React Native en Monorepo
Por lo general, crear aplicaciones web y móviles requiere diferentes conjuntos de tecnologías, y es bastante difícil compartir código. Esta charla mostrará cómo agregué una aplicación web de React y una aplicación móvil de React Native en el mismo monorepo utilizando Nx, y cómo optimicé el intercambio de código entre la aplicación web de React y la aplicación móvil de React Native.
La próxima ola de frameworks web es BYOJS
JSNation 2022JSNation 2022
23 min
La próxima ola de frameworks web es BYOJS
El desarrollo de aplicaciones web ha tenido muchos cambios a lo largo de la vida de la web. Desde aplicaciones del lado del servidor con un toque de JavaScript hasta aplicaciones de una sola página construidas completamente con JavaScript. Ahora estamos volviendo a donde muchos nuevos frameworks web se construyen primero de forma estática, con JavaScript agregado según sea necesario. Esta charla cubre la construcción de aplicaciones web con JavaScript a través de la lente de Astro, un generador de sitios estáticos donde la elección del framework de JavaScript es única para ti.
Cargadores de datos: Mejorando la obtención de datos en Vue
Vue.js Live 2024Vue.js Live 2024
30 min
Cargadores de datos: Mejorando la obtención de datos en Vue
La obtención de datos es una parte crítica de las aplicaciones web modernas. Es un problema complejo que ha sido (parcialmente) resuelto de muchas formas diferentes. En esta charla, exploraremos la nueva API de Cargadores de Datos para Vue Router, cómo se compara con las soluciones existentes y cómo puede simplificar en gran medida la obtención de datos en tus aplicaciones Vue.
¡MIDI en el Navegador... ¡Vamos a Rockear la Web!
JSNation 2022JSNation 2022
28 min
¡MIDI en el Navegador... ¡Vamos a Rockear la Web!
Si tienes un instrumento de música electrónica fabricado en las últimas 3 décadas, es muy probable que admita el protocolo MIDI. ¿Qué tal si te digo que es posible interactuar con tu keytar o máquina de ritmos directamente desde tu amado navegador? Te volverías loco, ¿verdad? Bueno, prepárate para hacerlo...Con soporte incorporado en Chrome, Firefox y Opera, esta posibilidad ahora es una realidad. Esta charla presentará a la audiencia la API Web MIDI y mi propia biblioteca WEBMIDI.js para que puedas empezar a rockear rápidamente.¡Desarrolladores web, preparen sus sintetizadores!
Usando Next.JS y Redux para aplicaciones web épicas sin JavaScript
React Advanced Conference 2021React Advanced Conference 2021
21 min
Usando Next.JS y Redux para aplicaciones web épicas sin JavaScript
Una breve exploración de un método para construir sitios web que funcionen sin JS, al tiempo que disfrutan de la comodidad de las tecnologías modernas de frontend y backend, ¡con codificación en vivo!

Workshops on related topic

Embarcándonos en una aventura con Nuxt 3, Motion UI y Azure
JSNation 2022JSNation 2022
141 min
Embarcándonos en una aventura con Nuxt 3, Motion UI y Azure
WorkshopFree
Melanie de Leeuw
Melanie de Leeuw
¡Nos encantan las aplicaciones web fáciles de crear y desplegar! Entonces, veamos qué puede hacer una pila tecnológica muy actual como Nuxt 3, Motion UI y Azure Static Web Apps. Podría ser perfectamente un trío de oro en el desarrollo web moderno. O podría ser una hoguera de errores y problemas. De cualquier manera, será una aventura de aprendizaje para todos nosotros. Nuxt 3 se lanzó hace apenas unos meses y no podemos esperar más para explorar sus nuevas características, como su compatibilidad con Vue 3 y el Motor Nitro. Agregamos un poco de estilo a nuestra aplicación con la biblioteca Sass Motion UI, porque el diseño estático está pasado de moda y las animaciones vuelven a estar de moda.Nuestra fuerza impulsora de la pila será Azure. Las aplicaciones web estáticas de Azure son nuevas, casi listas para producción y una forma ingeniosa y rápida para que los desarrolladores desplieguen sus sitios web. Así que, por supuesto, debemos probar esto.Con algunas Azure Functions esparcidas por encima, exploraremos lo que puede hacer el desarrollo web en 2022.
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.
Cómo desarrollar, construir e implementar microservicios Node.js con Pulumi y Azure DevOps
DevOps.js Conf 2022DevOps.js Conf 2022
163 min
Cómo desarrollar, construir e implementar microservicios Node.js con Pulumi y Azure DevOps
Workshop
Alex Korzhikov
Andrew Reddikh
2 authors
El masterclass ofrece una perspectiva práctica de los principios clave necesarios para desarrollar, construir y mantener un conjunto de microservicios en el stack Node.js. Cubre los detalles específicos de la creación de servicios TypeScript aislados utilizando el enfoque de monorepo con lerna y yarn workspaces. El masterclass incluye una descripción general y un ejercicio en vivo para crear un entorno en la nube con el framework Pulumi y los servicios de Azure. Las sesiones están dirigidas a los mejores desarrolladores que deseen aprender y practicar técnicas de construcción e implementación utilizando el stack Azure y Pulumi para Node.js.
Accesibilidad web en aplicaciones JavaScript
React Summit 2022React Summit 2022
161 min
Accesibilidad web en aplicaciones JavaScript
Workshop
Sandrina Pereira
Sandrina Pereira
A menudo vemos que JavaScript daña la accesibilidad de un sitio web. En esta masterclass, aprenderás cómo evitar errores comunes y cómo utilizar JS a tu favor para mejorar la accesibilidad de tus aplicaciones web.
En esta masterclass exploraremos múltiples ejemplos del mundo real con problemas de accesibilidad, y aprenderás cómo hacer que funcionen para las personas que utilizan un mouse o un teclado. También aprenderás cómo se utilizan los lectores de pantalla, ¡y te mostraré que no hay razón para tener miedo de usar uno!
Únete a mí y déjame mostrarte cómo la accesibilidad no limita tus soluciones o habilidades. ¡Al contrario, las hace más inclusivas!
Al final, serás capaz de:- Comprender los principios de WCAG y cómo están organizados- Conocer casos comunes en los que JavaScript es esencial para la accesibilidad- Crear enlaces, botones y elementos conmutables inclusivos- Utilizar regiones en vivo para errores y estados de carga- Integrar la accesibilidad en el flujo de trabajo de tu equipo de inmediato- Darte cuenta de que crear sitios web accesibles no es tan difícil como parece ;)