Для кого предназначен Inertia.js?

Inertia была разработана для групп разработчиков, которые обычно создают приложения с серверной отрисовкой с использованием таких фреймворков, как Laravel, Ruby on Rails или Django. Они создают контроллеры, получают данные из базы данных (через ORM) и визуализируют представления.

Но что произойдет, если эти разработчики захотят заменить свои отображаемые на стороне сервера представления на современный интерфейс одностраничного приложения на основе JavaScript? Ответ всегда "Вам нужно создать API". Потому что так устроены современные SPA.

Это означает создание REST или GraphQL API. Это означает определение аутентификации для этого API. Это означает управление состоянием на стороне клиента. Это означает создание нового репозитория Git. Это означает создание другой учетной записи хостинга для API. И этот список можно продолжать. Это полная смена парадигмы.

Inertia позволяет создавать одностраничное приложение на основе JavaScript без всей этой дополнительной сложности.

Инерция больше похожа на классическое приложение, отрисовываемое на стороне сервера. Вы создаете контроллеры, получаете данные из базы данных (через ORM) и визуализируете представления. Кроме представлений, здесь представлены компоненты страницы JavaScript. Это означает, что Вы получаете всю мощь клиентского приложения и возможности SPA, но Вам не нужно создавать API. (Обязательно посетите страницу как это работает для более полного объяснения.)

Эта простота действительно создает тесную связь между серверной частью и клиентской частью, но это уже общепринятая практика (и, возможно, преимущество) при создании классических приложений с рендерингом на стороне сервера.