A inércia lida com o roteamento do lado do cliente de maneira diferente do Vue.js tradicional de várias maneiras principais:
1. Renderização no lado do servidor:
- Inertia usa renderização do lado do servidor para renderizar componentes Vue, o que significa que o carregamento inicial da página é controlado pelo servidor. Essa abordagem melhora o SEO e as velocidades de carregamento inicial em comparação com a renderização tradicional do lado do cliente Vue.js[2][4].
2. Propriedade JSON mínima:
- Quando o servidor recebe uma solicitação para uma nova rota, ele envia de volta uma resposta JSON mínima contendo o nome do componente Vue e quaisquer adereços necessários. Essa abordagem reduz a quantidade de dados transferidos e melhora o desempenho[2][4].
3. Componente de ligação de inércia:
- Inertia fornece um componente `Link` personalizado que intercepta cliques e aciona solicitações XHR para buscar os dados do servidor. Este componente garante que o conteúdo da página seja atualizado dinamicamente sem recarregamentos completos da página[4].
4. Não há necessidade de roteador Vue:
- A inércia elimina a necessidade do Vue Router, pois todas as rotas são definidas no lado do servidor e gerenciadas pelo roteador do Laravel. Isso simplifica o processo de desenvolvimento e reduz a complexidade do gerenciamento de vários sistemas de roteamento[2][4].
5. Front-end e back-end unificados:
- O Inertia se integra perfeitamente ao Laravel, permitindo que os desenvolvedores usem a mesma linguagem de templates (Vue.js) tanto para o frontend quanto para o backend. Essa abordagem unificada simplifica o desenvolvimento e reduz a necessidade de configurações adicionais[1][3].
Ao aproveitar essas diferenças, o Inertia fornece uma abordagem única para roteamento do lado do cliente que combina os pontos fortes do Vue.js e do Laravel, resultando em um processo de desenvolvimento mais eficiente e escalável.
Citações:[1] https://github.com/inertiajs/inertia/issues/905
[2] https://inertiajs.com/routing
[3] https://jetstream.laravel.com/stacks/inertia.html
[4] https://vueschool.io/articles/vuejs-tutorials/the-ultimate-guide-for-using-vue-js-with-laravel/
[5] https://laracasts.com/discuss/channels/vue/inertia-vs-vue-pinia-and-router