el servidor de origen único. Entonces, el Edge va a resolver incluso problemas que podemos tener con las funciones serverless. Quiero decir, el Edge sería una combinación entre lo que es una función serverless y las CDNs. Tendríamos la posibilidad de ejecutar lógica del lado del servidor sin tener que configurar o mantener estos servidores web. Y por otro lado, tendríamos esa lógica viviendo en diferentes nodos de una cierta red de servidores web, ejecutando las diferentes solicitudes que vienen de los usuarios de diferentes partes del mundo.
Entonces, como puedes ver con el Edge, tendremos algunos de los beneficios que ya teníamos con las CDNs, que son mejor performance y más security, pero también tendremos información en tiempo real o fácil scalability porque en este caso, no solo tendremos los activos estáticos. También tendremos la posibilidad de ejecutar lógica del lado del servidor y procesar las solicitudes que vienen de los diferentes usuarios. Entonces, te puedes estar preguntando, ¿cuáles son algunos de los casos de uso para los que podemos aplicar el Edge o usar el Edge? Bueno, como puedes ver, podemos usar funciones de Edge, bueno, o eso dependerá del proveedor, pero podemos usar esta lógica de Edge o computación de Edge para personalización, por ejemplo, basada en el diferente usuario o tipo de usuarios que están visitando nuestro sitio web, podemos entregar contenido personalizado para ellos, podemos usar geolocalización para mostrar contenido particular en nuestro sitio web basado en la ubicación del usuario que está visitando este sitio web, también podemos aplicar lógicas para pruebas AV, probar diferentes versiones de nuestro contenido o nuestras páginas basadas en ciertos aspectos de los visitantes, y también podemos implementar lógica de security, podemos verificar que los usuarios que están visitando nuestro sitio web o que están accediendo a un contenido particular que estamos ofreciendo son quienes dicen ser usando authentication o autorización que podemos implementar en esta lógica que va a vivir en la red Edge. Entonces, como esto es una conferencia de React, hablaremos sobre el Edge pero basado en algunos frameworks basados en React. Quiero decir, eres un desarrollador de React, cómo puedes usar o obtener la ventaja del Edge cuando estás creando tus proyectos usando React o un framework basado en React, genial. Entonces, hablando de eso, comenzaremos con Next.js. Next.js ofrece la función Edge functions que son básicamente scripts sin servidor que se están ejecutando o siendo ejecutados, quiero decir, están ejecutando renderizado del lado del servidor y se distribuyen en diferentes regiones. Como mencionamos antes, tenemos esta lógica que es muy similar a las funciones serverless pero distribuidas en diferentes regiones del mundo. Las funciones de Edge que son ofrecidas por Bercel en este caso o NGIS, se ejecutan en la runtime de Edge. Eso significa que tendrás algunas APIs web estándar que puedes usar en el código que estás creando y que se va a ejecutar del lado del servidor, pero no es una runtime completa de Node.js por lo que no tendrás acceso a todas las características y todas las capacidades que tienes en un servidor web Node. Eso es algo que tienes que tener en cuenta. Pero por otro lado, esta runtime de Edge que se construyó sobre el motor V8 fue creada para ser más eficiente cuando se ejecuta en el Edge y esa es la razón por la que estamos usando la runtime de Edge para las funciones de Edge. Un ejemplo de una función de Edge que puedes ver es, por ejemplo, capturar la solicitud que viene de un usuario y basado en qué página nos están visitando podemos devolver un cierto mensaje. Como puedes ver, podemos establecer una runtime particular dependiendo de la configuración que establezcamos o la runtime que seleccionemos. Vercel va a identificar si podemos usar este fragmento de código como una función de Edge o si necesita ser una función serverless que está ubicada en una ubicación particular basada en los diferentes servidores que ofrecen y la infraestructura que Vercel nos ofrece. Otro ejemplo es, por ejemplo, capturar las solicitudes que vienen de los usuarios y basado en el ID de usuario que tiene la persona que está visitando nuestra página web podemos recuperar data relacionada con ese usuario y usar eso para cualquier procesamiento que queramos hacer en nuestro sitio web. Estos son ejemplos de funciones de Edge que puedes crear usando Next.js y Vercel. Vercel y Next.js también ofrecen el middleware que es una capa intermedia que ejecuta lógica personalizada antes de que se procese una solicitud. Entonces, con el middleware puedes definir también una función de Edge que se ejecuta cada vez que llega una solicitud al servidor y antes de que se procese esa solicitud. Entonces, en este caso, este es un ejemplo de una función de autorización, quiero decir que es básicamente verificando que el usuario que está visitando nuestro sitio web o que está llamando a este endpoint tiene la security adecuada para ver el contenido. Básicamente lo que hacemos con el middleware es ejecutar todas las solicitudes que vienen de los diferentes usuarios. Lo mismo aquí, estamos usando un indicador de función para mostrar cierto contenido o un contenido diferente, podemos implementar una campaña de pruebas AV testing con el middleware porque vamos a capturar todas las solicitudes que llegan al servidor web y basado en eso estamos ejecutando la lógica del lado del servidor y enviando el contenido adecuado o las páginas web adecuadas a nuestros visitantes. Otro framework basado en React es Remix. Remix, si estás familiarizado con el framework, puedes crear una función de renderizado principal que, quiero decir, usarías llamado React, básicamente estás creando react components y puedes usar eso para renderizar el contenido de tu página, pero también Remix ofrece la posibilidad de ejecutar lógica del lado del servidor. Como puedes ver en la segunda línea de este ejemplo, estamos obteniendo data de un cargador y este cargador es básicamente una función que se está ejecutando en el lado del servidor para solicitar data de una cierta fuente. Remix ofrece la posibilidad de crear funciones de acción y funciones de cargador que se ejecutan en el lado del servidor, por lo que podemos recuperar data, podemos leer data, crear data ejecutar diferentes tipos de acciones y estas funciones de acción y cargador se van a ejecutar en el edge. Entonces, Remix tiene lo que ellos llaman la próxima generación de edge que es básicamente definiendo diferentes niveles de dinamismo en las diferentes rutas de nuestro sitio web y con una base por ruta quiero decir, puedes decir que una ruta de tu sitio web va a correr en el edge usando el tiempo de ejecución del nodo puedes definir que una ruta diferente va a correr en el tiempo de ejecución del edge o genoma dependiendo de el proveedor que estás usando, en realidad puedes definir esa configuración, quiero decir, puedes ejecutar un código de Remix en los servidores web de Brasil y definiendo el runtime que quieres usar para la lógica del lado del servidor que estás ejecutando, este es un ejemplo de usar Brasil como proveedor con un proyecto de Remix, hay diferentes proveedores que ofrecen la posibilidad de trabajar en el edge, otro proveedor es Netlify, Netlify ofrece la posibilidad de crear y gestionar funciones de Edge, estas funciones de Edge funcionan de manera muy similar a las que ofrece Brasil y Next.js, pero se ejecutan en la runtime de Dino, quiero decir, eso es una runtime de código abierto que ofrece diferentes funcionalidades, otro proveedor es Cloudflare, Cloudflare ofrece los trabajadores que son básicamente lo que Brasil y Netlify usaron como origen o como idea para crear sus propias funciones de Edge, y por otro lado también tenemos Fly.io que es un nuevo proveedor en donde tenemos la posibilidad de ejecutar una aplicación de pila completa en el edge también con las bases de datos entonces, en lugar de entregar o distribuir funciones de Edge o pequeños fragmentos de lógica del lado del servidor podemos desplegar una aplicación de pila completa con su propia base de datos para ejecutar eso en el edge como puedes ver, hay diferencias entre los diferentes proveedores y básicamente eso es lo que va a definir las capacidades para tu sitio web y tu proyecto en qué tipo de código o lógica puedes ejecutar en el lado del servidor porque lo que vas a crear con el código de tu proyecto tendrá que trabajar con las definiciones y capacidades del proveedor que estás usando para tu sitio web, entonces, como puedes ver, el edge está aquí y es el futuro, puedes usar el edge en tu proyecto, puedes definir una lógica que se ejecuta en el edge en tu proyecto, pero también creo que este es el punto de partida para nuevas cosas que se van a desarrollar en el futuro con este mismo enfoque de tener lógica descentralizada del lado del servidor que se ejecuta en diferentes partes del mundo y geográficamente distribuida para ser más eficiente, más eficaz y más segura, entonces te animo a probar las funciones de Edge y diferentes enfoques para usar la red edge y ver qué puedes crear y qué puedes ofrecer a tus visitantes y usuarios Muchas gracias, disfruta de la conferencia y nos vemos pronto
Comments