Inertia obsługuje routing po stronie klienta inaczej niż tradycyjne Vue.js na kilka kluczowych sposobów:
1. Renderowanie po stronie serwera:
- Inertia wykorzystuje renderowanie po stronie serwera do renderowania komponentów Vue, co oznacza, że początkowe ładowanie strony jest obsługiwane przez serwer. To podejście poprawia SEO i początkowe prędkości ładowania w porównaniu z tradycyjnym renderowaniem po stronie klienta Vue.js[2] [4].
2. Minimalna propozycja JSON:
- Kiedy serwer otrzymuje żądanie nowej trasy, odsyła minimalną odpowiedź JSON zawierającą nazwę komponentu Vue i wszelkie niezbędne rekwizyty. Takie podejście zmniejsza ilość przesyłanych danych i poprawia wydajność[2] [4].
3. Komponent łącza bezwładnościowego:
- Inertia udostępnia niestandardowy komponent „Link”, który przechwytuje kliknięcia i wyzwala żądania XHR w celu pobrania danych z serwera. Ten komponent zapewnia dynamiczną aktualizację zawartości strony bez konieczności ponownego ładowania całej strony[4].
4. Nie ma potrzeby używania routera Vue:
- Bezwładność eliminuje potrzebę routera Vue, ponieważ wszystkie trasy są definiowane po stronie serwera i obsługiwane przez router Laravel. Upraszcza to proces programowania i zmniejsza złożoność zarządzania wieloma systemami routingu [2] [4].
5. Ujednolicony frontend i backend:
- Inertia bezproblemowo integruje się z Laravelem, umożliwiając programistom używanie tego samego języka szablonów (Vue.js) zarówno dla frontendu, jak i backendu. To ujednolicone podejście upraszcza programowanie i zmniejsza potrzebę dodatkowej konfiguracji[1] [3].
Wykorzystując te różnice, Inertia zapewnia unikalne podejście do routingu po stronie klienta, które łączy w sobie mocne strony Vue.js i Laravel, co skutkuje bardziej wydajnym i skalowalnym procesem rozwoju.
Cytaty:[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