Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En Desarrollo Última actualización: 15 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

JavaScript conserva el reinado como uno de los lenguajes de programación más utilizados. Debido a este hecho, este lenguaje de programación también tiene muchas bibliotecas y frameworks. React es una de las bibliotecas de JavaScript más populares. 

React también viene con muchos frameworks y librerías diseñadas para realizar diferentes funciones. Un framework web proporciona una forma estructurada de crear una aplicación web. En lugar de crear todo desde cero, los frameworks proporcionan código reutilizable que los desarrolladores pueden usar en sus aplicaciones. 

Remix es uno de los últimos frameworks web de React que ha ganado mucha tracción últimamente. Este artículo definirá qué es el framework Remix, sus características, cómo configurarlo, los casos de uso de Remix y sus limitaciones. 

¿Qué es el Remix Framework?

YouTube vídeo

Remix es un marco de desarrollo web completo basado en Reaccione. Puede utilizar una aplicación Remix para crear el backend y el frontend de su aplicación. Remix te permite centrarte en la interfaz de usuario y te ayuda a ofrecer una experiencia de usuario resistente y rápida. 

Este marco puede describirse como cuatro cosas: un compilador, un marco de navegador, un marco de servidor y un controlador HTTP. 

Remix era originalmente un servicio de pago, pero se convirtió en código abierto a finales de 2021. También se adquirida por Shopify en 2022

Características de Remix Framework 

Remix-framework-features-
  • Pila de remezclas: Esta función de Remix CLI te permite generar aplicaciones Remix rápidamente. Algunas de estas pilas están incorporadas. También puedes crear una aplicación desde cero por tu cuenta. Las pilas oficiales incorporadas tienen características tales como tuberías de despliegue automático, bases de datos, pruebas, autenticación y linting. Algunas de estas pilas son las populares Blues Stack, Indie Stack y Pila Grunge
  • Renderizado del lado del servidor (SSR): Este framework permite el renderizado del lado del servidor de componentes React. La renderización inicial en Remix tiene lugar en el servidor, enviando un documento HTML completamente renderizado al cliente. La renderización del lado del servidor tiene varias ventajas, como mejorar la accesibilidad, permitir que los motores de búsqueda rastreen el contenido y mejorar la velocidad. 
  • Enrutamiento con rutas anidadas: Remix utiliza React Router 6. Con este framework, sólo tienes que soltar los archivos en la carpeta de rutas, y el módulo de rutas de Remix los transformará en rutas navegables. Una ruta anidada es una ruta contenida dentro de otra ruta. 
  • Compatible con TypeScript y JavaScript: Puede utilizar Remix independientemente de si utiliza JavaScript o TypeScript. La ventaja de utilizar TypeScript es que permite declarar variables y facilita la detección temprana de errores. 
  • Carga de datos y almacenamiento en caché integrados: Este marco permite a los desarrolladores definir cargadores que obtengan datos de diversas fuentes. Remix gestiona la obtención de datos tanto en el lado del cliente como en el del servidor. El mecanismo de almacenamiento en caché que ofrece este framework facilita la reducción de la obtención innecesaria de datos y la optimización de las solicitudes posteriores. 
  • División y precarga del código: Puede dividir el código de una aplicación Remix en pequeños fragmentos cargables bajo demanda. Este enfoque reduce el tamaño inicial del paquete y las capacidades de precarga que cargan datos y código en segundo plano. 

Ventajas de Remix Framework

Ventajas del marco mixto
  • Full-stack: La mayoría de la gente utiliza diferentes lenguajes o frameworks para crear los lados cliente y servidor de sus aplicaciones. Por ejemplo, puedes utilizar React para el front-end y un framework Node.js como ExpressJS para el back-end. En otros casos, puedes usar un framework de Python como Django en tu backend. Remix es un framework full-stack, lo que significa que el front-end y el back-end estarán en la misma aplicación. 
  • Excelente manejo de datos: Remix se basa en las características y convenciones nativas del navegador. El excepcional flujo de datos facilita la transmisión de los datos entre el front-end y el back-end de su aplicación. 
  • Fácil manejo del estado: La gestión del estado en las aplicaciones React puede ser un dolor, y la mayoría de los desarrolladores utilizan bibliotecas de terceros como Redux. Remix utiliza cargadores para gestionar el estado en el lado del servidor. Puedes utilizar el atributo 'useLoaderData' desde cualquier componente de la ruta actual. 
  • Límites de error: Si se produce un error en una ruta anidada o componente en una aplicación Remix, los errores se limitarán sólo a ese componente. Tal error no romperá toda la aplicación, como en otros frameworks. Aunque puedes implementar la función de limitación de errores en algunos frameworks de React como Siguiente.jsEsta función está integrada en Remix.

Requisitos previos para crear una remezcla

Si quieres configurar una aplicación Remix, estas son algunas de las cosas que necesitas;

  • Node.js versión a partir de 14.17.0
  • Un gestor de paquetes como npm (7 o superior)
  • Un editor de código
  • Comprensión del funcionamiento de las aplicaciones React

Cómo configurar "Hello, World!" en Remix

Crearemos un proyecto sencillo y lo llamaremos "Remix-app". Puedes seguirnos;

  • Navega hasta la ubicación donde quieres crear tu aplicación, abre tu terminal y ejecuta este comando;
npx create-remix@latest remix-app

El terminal te pedirá que respondas a varias preguntas y configures tu aplicación. Podemos ceñirnos a lo básico y seleccionar TypeScript como nuestro lenguaje. 

  • Navega hasta la aplicación creada (Remix-app) y ábrela en tu editor de código favorito. La estructura de carpetas será la siguiente;
Remix-archivo-estructura-1
  • Construye tu aplicación utilizando este comando;
npm run build
  • Inicie el servidor de desarrollo utilizando este comando;
npm start

Ahora puede abrir la ventana en su navegador utilizando http://localhost:3000 y aparecerá en su navegador;

Muestra de la aplicación Remix
  • Modificar el contenido del app/root.tsx con lo siguiente;
import { LiveReload } from "@remix-run/react";

export default function App() {

  return (

    <html lang="en">

      <head>

        <meta charset="utf-8" />

        <meta

          name="viewport"

          content="width=device-width,initial-scale=1"

        >

        <title>Remix Demo</title>

      </head>

      <body>

        Hola mundo

        <livereload />

      </body>

    </html>

  );

}

La página renderizada será la siguiente;

dav-1

¿Dónde se utiliza el marco Remix?

Dónde-se-utiliza-el-marco-Remix

Al igual que Next.js y React, Remix puede utilizarse para crear diferentes tipos de aplicaciones. Estos son algunos de los mejores casos de uso;

  • Aplicaciones de una sola página: Todo el código de una aplicación Remix se carga una sola vez. El enfoque renderizado en servidor permite cargas iniciales rápidas, mientras que el cliente gestiona las solicitudes posteriores sin problemas. 
  • Sitios web compatibles con SEO: Remix utiliza la función de pre-renderizado para generar páginas HTML estáticas. Esto permite indexar sitios web aunque se trate de contenidos dinámicos. 
  • Sitios web dinámicos: Remix utiliza el renderizado del lado del servidor en sus aplicaciones. SSR carga las páginas en el servidor antes de enviar una página HTML al cliente. De este modo, Remix se adapta perfectamente a los sitios web cuyo contenido se genera dinámicamente. 

Funcionamiento de Remix Framework en el lado del servidor y del cliente

Cómo funciona el marco Remix en el lado del servidor y del cliente

Renderizado en el servidor

Remix renderiza su código en HTML plano en el lado del servidor. Este enfoque reduce la cantidad de JavaScript, aumentando así la velocidad de carga. Remix utiliza básicamente funciones nativas de "acción" y "cargador". El servidor realizará cualquier acción del lado del servidor que proporciones, renderizará el código React plano y HTML, y luego lo enviará al navegador del cliente. 

Renderizado del lado del cliente

Remix, al igual que Next.js, ofrece la función "prefetching", que facilita la navegación a los usuarios. 

En Next.js, la función <link> permite que nuestro sitio web precargue una página a la que redirige el y no tenga que esperar a que la página se descargue. Sin embargo, este enfoque sólo funciona bien con sitios web estáticos.

Remix utiliza el <link rel="prefetch">​ que facilita la obtención de y otras páginas. Remix agiliza así la carga de páginas cuyo contenido cambia constantemente en función de las entradas del usuario. 

Limitaciones de la remezcla

  • Pequeña comunidad: Remix era originalmente un framework de pago. Sin embargo, se hizo de código abierto en 2021 y todavía es joven. Esto significa que existen recursos y herramientas limitados para facilitar la creación de aplicaciones. 
  • Curva de aprendizaje más pronunciada: Remix introduce el concepto de rutas anidadas y puede resultar confuso si vienes de React o sus frameworks como Next.js. Sin embargo, una vez que te enganchas, usar este framework se vuelve fácil. 

¿Cuál es el futuro de la remezcla?

  • Es probable que aumente su adopción: La remezcla aún es joven. Es posible que los desarrolladores aún no hayan descubierto su potencial, y es probable que veamos más empresas y desarrolladores que lo utilicen en el futuro. 
  • Es probable que el ecosistema crezca: Remix dispone aún de pocas herramientas y bibliotecas para apoyar su ecosistema. Podemos esperar más herramientas y bibliotecas a medida que crezca su adopción. 
  • La comunidad crecerá: Una comunidad es fundamental para el crecimiento de un framework/lenguaje de programación. Esperamos que la comunidad crezca a medida que los desarrolladores descubran las joyas de Remix. 
¿Es Remix mejor que Next.js?

La respuesta a esta pregunta dependerá de la naturaleza de la aplicación que estés creando. Si quieres crear una aplicación completa utilizando un framework, Remix será mejor que Next.js. Sin embargo, si quieres un framework maduro con muchos recursos y buenos seguidores, Next.js será tu elección perfecta.

¿Es Remix un buen framework?

Sí, es un buen framework para construir tu aplicación completa usando un solo framework. También es un framework impresionante si quieres tecnología con la función de límites de error incorporada. Sin embargo, Remix no es el framework adecuado si quieres un framework con una gran comunidad y muchos recursos. 

¿Está Remix JS listo para la producción?

Si está familiarizado con el despliegue de aplicaciones Node.js, trabajar y desplegar aplicaciones Remix también le resultará muy sencillo. 

¿Debería aprender Remix o React?

Remix es un framework de React. Por lo tanto, necesitas entender cómo funciona React antes de empezar a aprender Remix. Sin embargo, si tu tiempo es limitado y quieres aprender solo un framework, la elección dependerá de tus objetivos finales. 
Remix te permite construir aplicaciones full-stack. También puedes aprender Remix aunque no domines React, pero la curva de aprendizaje será pronunciada. 
Sin embargo, si usas React, debes usar un framework backend como Django o Ruby on Rails si quieres una aplicación full-stack. Si decides aprender React, puedes contar con sus numerosos recursos y su comunidad. 

Conclusión

Aún es pronto para determinar si Remix es el futuro del desarrollo web. Sus sorprendentes características, como el enrutamiento flexible, el renderizado del lado del servidor, la división del código y el enfoque en la experiencia del desarrollador, lo convierten en un framework web muy prometedor. 

Sin embargo, Remix es aún joven y sus recursos son todavía limitados. También cuenta con una comunidad reducida. Las herramientas y bibliotecas del framework Remix JS son escasas, ya que la mayoría de los frameworks de código abierto dependen del apoyo de la comunidad y de herramientas de terceros. 

También puede explorar algunos marcos y bibliotecas para conocer como desarrollador full-stack.

  • Tito Kamunya
    Autor
Gracias a nuestros patrocinadores
Más lecturas sobre desarrollo
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder