Inertia.js

> Temas > Inertia.js
Editar

InertiaJS es una herramienta que ayuda a los desarrolladores de aplicaciones backend a crear aplicaciones modernas SPA, sin necesidad de cambiar el paradigma habitual de desarrollo, sin construir APIs o componentes complejos Javascript.

InertiaJS o simplemente Inertia.js no se considera un framework porque se puede encajar con el desarrollo mediante cualquier framework de desarrollo actual, como Laravel, Symfony, Django, o cualquier otro. Podemos decir que es una herramienta fullstack para el desarrollo de SPA usando todos los conocimientos habituales que tenemos en el desarrollo backend habitual.

El objetivo detrás de Inertia.js es la creación de aplicaciones front-end modernas, renderizadas completamente en el lado del cliente pero sin la complejidad del desarrollo de las SPA, evitando a los desarrolladores backend un cambio brusco en su paradigma habitual de desarrollo.

Para más información visitar la página de Inertia.js.

Más información:

Inertia.js no necesita API ni sistema de routing

Cuando desarrollamos una aplicación SPA (Single Page Application) estamos obligados a cambiar el modo de desarrollo habitual, basado en la renderización del HTML del lado del servidor. En lugar de ello, el servidor suele construirse mediante un API (REST o GraphQL) y la renderización del HTML se produce en el lado del cliente, mediante Javascript.

Esto nos obliga a realizar del lado del cliente muchas operativas como es el mantenimiento del estado de la aplicación mediante Javascript, o la utilización de un sistema de routing, para que los enlaces no recarguen la página sino que simplemente muestren contenido nuevo en la página intercambiando las vistas o sus datos mediante Javascript.

Inertia.js dispensa de este cambio de paradigma a los desarrolladores backend, ya que aprovecha la tecnología actual de los frameworks backend y permite seguir desarrollando las aplicaciones mediante los controladores habituales de los frameworks, obteniendo los datos y el estado directamente mediante el ORM y usando vistas, excepto que en este caso las vistas son componentes Javascript.

Editar

Adaptadores de Inertia.js

Inertia actualmente soporta un número limitado de adaptadores, que son necesarios el desarrollo con esta tecnología.

Adaptadores frontend

Los adaptadores frontend permiten crear componentes que renderizan los datos que entregan directamente los frameworks backend. Además hacen cosas como capturar todas las solicitudes de páginas, es decir, clic sobre los enlaces, para que éstas se realicen mediante Ajax.

Para funcionar como una SPA los adaptadores frontend ofrecen un componente llamado <inertia-link> que funciona como un enlace que realiza las solicitudes por Ajax al servidor. También es posible hacer solicitudes programáticamente mediante Javascript con el método Inertia.visit(). El servidor entonces retorna un JSON con el nombre del componente Javascript y los datos que requiere. Mediante esta operación el componente frontend de Inertia.js se encarga de intercambiar el componente actual determinado con esta solicitud por el nuevo componente y los datos entregados por el backend.

Los adaptadores frontend soportados oficialmente por Inertia.js están desarrollados en React, Vue o Svelte.

Adaptadores backend

Los adaptadores backend se encargan de realizar el trabajo del lado del servidor de interceptar correctamente las solicitudes que vienen desde enlaces de Inertia y producir las respuestas adecuadas para que los componentes frontend tengan todos los datos que necesitan para funcionar.

Actualmente están soportados oficialmente Laravel y Rails, pero la comunidad ha desarrollado adaptadores backend para dar soporte a Inertia.js en una variedad enorme de frameworks como Symfony, NodeJS, Django, Go, Codeiniter, CakePHP, Yii2, Flask y muchos otros.

Editar

¿Quieres añadir algo sobre Inertia.js?

Crea artículos, recursos o comparte información sobre Inertia.js

Crear un bloque

Inertia.js

Preguntas y respuestas de Inertia.js

Se han recibido 1 faqs en Inertia.js

Hacer una pregunta