¡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.

This talk has been presented at JSNation Live 2020, check out the latest edition of this JavaScript Conference.

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
Welcome to this talk on domain-driven design in Vue.js application. Today we are going to look into domain-driven design, its benefits and how it works with Vue.js domain-driven design versus the MVVM model. Vue.js thrives in domain-driven design, a design approach that models software to match a domain. DDD emphasizes understanding business logic and creating a domain that reflects the language and concepts. Integrating DDD in Vue.js offers benefits such as effective modeling of complex business domains, structured code reflecting domain logic, and easier onboarding and ownership.
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
This presentation focuses on sharing code between React web and React native mobile apps. The speaker demonstrates how to achieve feature parity using a Monorepo with NX. They highlight the importance of sharing non-UI code, such as business logic and state management, through shared libraries. This approach allows the apps to focus on UI code while keeping non-UI code separate. For more details, refer to the speaker's blog post.
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
Data loaders provide a solution for complex and repetitive data fetching in Vue.js applications. Using data loaders allows for more independent data fetching and integrates with the navigation cycle. The data loader plug-in adds a navigation guard for data fetching and loading. Lazy loading and caching can be implemented using Pina Colada and Glada loaders. These loaders can improve the performance and speed of data fetching in applications.
La próxima ola de frameworks web es BYOJS
JSNation 2022JSNation 2022
23 min
La próxima ola de frameworks web es BYOJS
The next wave of web frameworks is BYOJS, covering the history and evolution of building web applications. The evolution of web frameworks and build systems includes popular choices like React, Angular, and Vue, as well as advanced build systems like Webpack and Rollup. The rise of performance measurement tools and the adoption of the Jamstack have led to improved web performance. The Jamstack architecture focuses on pre-rendering pages, decoupling APIs and services, and enhancing pages with JavaScript. Astro, a static site generator with SSR support, promotes the islands architecture and partial hydration.
¡MIDI en el Navegador... ¡Vamos a Rockear la Web!
JSNation 2022JSNation 2022
28 min
¡MIDI en el Navegador... ¡Vamos a Rockear la Web!
MIDI is a versatile communication protocol that extends beyond music and opens up exciting possibilities. The Web MIDI API allows remote access to synths and sound modules from web browsers, enabling various projects like music education systems and web audio-based instruments. Developers can connect and use MIDI devices easily, and the Web MIDI API provides raw MIDI messages without semantics. The WebMidi.js library simplifies working with the Web MIDI API and offers a user-friendly interface for musicians and web developers. MIDI on the web has generated significant interest, with potential for commercial growth and endless possibilities for web developers.
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
This Talk explores developing web applications that work without JavaScript enabled in the browser, while still enjoying the benefits of modern web technologies. The speaker demonstrates converting an existing application to work without JavaScript by wrapping buttons in a form and preventing the default submit event. React helpers are introduced to handle async actions and the speaker shows how to make a counter app work without JavaScript by removing unnecessary callbacks and changing buttons to a button component. The talk also covers adding a form and a surprise feature, and emphasizes that by leveraging forms and an event-based store, applications can seamlessly work with or without JavaScript.

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 ;)