Inertia 是为通常使用 Laravel、Ruby on Rails 或 Django 等框架构建服务器端渲染应用程序的开发团队和个人黑客而设计的。您习惯于创建控制器、从数据库(通过 ORM)检索数据以及渲染视图。
但是,当您想要用现代的基于 JavaScript 的单页应用程序前端替换服务器端渲染的视图时会发生什么?答案始终是“您需要构建一个 API”。因为这就是现代 SPA 的构建方式。
这意味着构建 REST 或 GraphQL API。这意味着为该 API 确定身份验证和授权。这意味着客户端状态管理。这意味着设置一个新的 Git 存储库。这意味着更复杂的部署策略。而且这个清单还在继续。这是一个完整的范式转变,通常是一团糟。我们认为有更好的方法。
Inertia 使您能够构建现代的基于 JavaScript 的单页应用程序,而无需繁琐的复杂性。
Inertia 的工作方式与传统的服务器端渲染应用程序相同。您创建控制器,从数据库(通过您的 ORM)获取数据,并渲染视图。但是,Inertia 视图是用 React、Vue 或 Svelte 编写的 JavaScript 页面组件。
这意味着您获得了客户端应用程序和现代 SPA 体验的所有功能,但您无需构建 API。我们认为这是一个可以提高您生产力的新鲜空气。