Rails Rails 前端方案 Inertia.js

mfb777 · 2025年01月12日 · 最后由 jiting 回复于 2025年01月14日 · 592 次阅读

最近发现 X 上这个框架推文比较多,就大概了解了一下。发现这个框架很适合 Rails。

Rails adapter for Inertia.js 项目地址:https://github.com/inertiajs/inertia-rails

目前还没有使用过,但能看出来使用 Inertia.js 可以比较好的和前端技术融合起来,React, Vue, and Svelte 都是默认支持的。

Rails 7 给的 Hotwire 方案看起来很美,用起来生态匮乏,没有太多的轮子可以用。Inertia 背后好像有 Laravel 的官方支持,感觉 PHP 又能焕发一波了。

有没有大佬已经在项目中用过了?性能如何,是否有坑?

RubyConf China 聊过这个

这个前端方案对熟悉前端框架,不怎么熟悉 rails 的,还是不错的,我目前就是用这套

在一楼演讲中有提到 https://github.com/skryukov/turbo-mount,“可以任意引入需要的前端 lib”

不知道 turbo-mount 和 Intertia 比起来有什么不足?毕竟很多时候还是写 hotwire 对于 rails 来说更合适。

zhandao 回复

简单来说,turbo mount 的场景是让你仅在个别页面上引入需要的前端 lib(无论 react / vue / ……),但系统整体仍然以 Hotwire 为主。

而 Inertia 是让你直接使用整个前端框架(React / VUe / Svelte)来接管全部前端页面了。

apexy 回复

嗯嗯这是理解的。不过既然可以有 turbo mount,那么是不是写惯 hotwire 其实没有用 interia 的必要?(也是才了解 trubo mount,这些天也会去使用感受一下,平时基本上都是手撸各种前端组件,hotwire 这套确实生态太有限)

zhandao 回复

这个具体看你业务需求和个人感受了。

你这种情况我的建议是如果 Hotwire + Turbo Mount 能解决问题,就不用引入 Inertia.js 了。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号