Mientras Remix se ejecuta en el servidor, en realidad no es un servidor en sí mismo. En cuanto a la parte del marco del lado del servidor de Remix, si estás familiarizado con los controladores de modelo-vista-controlador del lado del servidor como Warevel o Rails, Remix es el controlador y la vista, y deja el modelo en manos del desarrollador. Desde la perspectiva del marco del navegador, una vez que se sirve un documento al navegador, Remix se encargará prácticamente de iterar esa página con los modelos de JavaScript del navegador. Por ejemplo, si un usuario hace clic en un enlace, en lugar de hacer un viaje de ida y vuelta al servidor para obtener todo el documento y todos los activos, Remix simplemente obtendrá los datos para tu próxima página y actualizará la interfaz de usuario. Esto tiene muchos beneficios en términos de rendimiento en comparación con hacer una solicitud de documento completo, ya que estos activos no necesitan descargarse ni extraerse de la caché, no es necesario analizarlos nuevamente en el navegador y los datos que se obtienen son mucho más pequeños que todo el documento.
Entonces, sí, esto es realmente genial, y esta es una introducción muy breve sobre qué es Remix. Pero sí, hablando de ello, ¿cuál es su filosofía? Bueno, Remix abraza completamente el modelo cliente-servidor. Puedes hacer que tu servidor sea rápido. Lo que no puedes controlar es la red del usuario. A veces, todos hemos experimentado esto, parece que funciona muy bien para nosotros, pero luego verificamos nuestro código, nuestra aplicación en la red del usuario y, simplemente porque no tienen el mismo ancho de banda o lo que sea que tengamos nosotros, entonces la aplicación es lenta. Tarda más tiempo en cargarse. Entonces, Remix te ayuda a disminuir la cantidad de cosas que envías a través de la red, para que no necesitemos enviar toda la interfaz de usuario esqueleto, porque Remix obtiene y puede incluso precargar en ocasiones los datos antes de que se renderice la página, y esto nos facilitará enviar aplicaciones a nuestros usuarios.
Como dije anteriormente, Remix trabaja con los fundamentos de la web. En este escenario, los navegadores, HTTP y HTML. Estas son tecnologías que han existido durante mucho tiempo y son bastante geniales, y Remix las abraza por completo. Al combinar cosas como el almacenamiento en caché de HTTP, el enfoque de Remix en la URL para los activos, el renderizado dinámico del servidor y las características de HTML como el atributo de enlace con el prefetch, tienes todas las herramientas que necesitas para hacer que tu aplicación sea realmente genial, y como dije, los navegadores y estas otras cosas que han existido durante unos 20 años, son muy, muy buenos, y Remix los aprovecha al máximo. Remix utiliza JavaScript para mejorar la experiencia del usuario al emular el comportamiento del navegador. Mientras que la mayoría de los marcos recientes solo tienen APIs para leer y obtener datos, Remix tiene tanto lectura como escritura. ¿Por qué, podrías preguntar? Al aprovechar los formularios HTML. Los formularios HTML han existido durante mucho tiempo y han sido la base para la mutación de datos desde los años 90, por lo que Remix abraza esto y mejora por completo esa API. Esto permitirá que la capa de datos de una función de Remix funcione con o sin JavaScript en una página. Esto significa que JavaScript, cuando hablamos de Remix, es lo que se llama mejora progresiva. Si decides agregar JavaScript a tu aplicación, permite que Remix acelere tu experiencia de usuario de dos maneras en una transición de página. No descargando y evaluando activos de JavaScript y CSS, y obteniendo solo los datos para las partes del diseño que cambian. Por último, y el último punto de la filosofía de Remix es que no sobreactualiza las tecnologías subyacentes. Y es por esto que se dice que, con Remix, accidentalmente se aprende el desarrollo web en general. Remix lo hace conveniente de usar, como dije, navegadores, HTTP, JavaScript. Pero estas cosas no están ocultas ni abstraídas.
Comments