在 Ruby on Rails 应用中使用 Turbo
Turbo 让您获得单页面 Web 应用程序的速度,而无需编写任何 JavaScript。Turbo 可加速链接和表单提交,而无需更改服务器端生成的 HTML。它允许您将页面分割成独立的框架,这些框架可以被延迟加载,并作为独立组件运行。最后,它还可帮助您使用仅包含 HTML 和一组类似 CRUD 的容器标签来进行部分页面更新。这三种技术可将许多 Web 应用程序需要编写的自定义 JavaScript 量减少一个数量级。对于剩下的少数动态部分,您可以使用 Stimulus 来完成工作。
除了加速 Web 应用之外,Turbo 还从头开始构建,成为混合原生应用的基础。使用标准平台工具编写 Android 或 iOS 应用的导航外壳,然后无缝地从 Web 中引入功能,遵循原生导航模式。并非每个移动屏幕都需要使用 Swift 或 Kotlin 编写才能获得原生体验。借助 Turbo,您可以减少处理 JSON、等待应用商店批准更新或重新实现已在 HTML 中创建的功能的时间。
Turbo 是一款不依赖语言的框架,使用 JavaScript 编写,但这个 gem 依赖于这些基础,使与 Rails 的集成尽可能流畅。您可以通过 Action Cable 进行模型回调来提供 turbo 更新,使用原生导航或标准重定向来响应控制器操作,以及使用辅助函数和无布局响应来渲染 turbo 框架。
Turbo 是前一个 Turbolinks 框架思想的延续,而过去的方法的核心仍然存在于 Turbo Drive 中。安装后,Turbo 会自动拦截所有点击同一域名的 <a href> 链接。当您点击符合条件的链接时,Turbo 会阻止浏览器跟随该链接。相反,Turbo 会使用 History API 更改浏览器的 URL,请求新的页面,并将其显示在浏览器中。
暂无开放 Issues,或尚未同步最近议题。