page contents

Rails 7.0 发布:实现了真正的全栈 Web 开发

12月15日,Rails官方发布了博文《Rails 7 fulfilling a vision》,不仅介绍了Rails 7的最新功能特性,同时也表明Rails 7 实现了一个愿景,即一种真正的全栈 Web 开发方法,以同样的力度应对前端和后端的挑战。

attachments-2021-12-Fkmw69FU61c1293d6f4cf.png

12月15日,Rails官方发布了博文《Rails 7 fulfilling a vision》,不仅介绍了Rails 7的最新功能特性,同时也表明Rails 7 实现了一个愿景,即一种真正的全栈 Web 开发方法,以同样的力度应对前端和后端的挑战。

事实上,这个愿景已经提出很多年了,但前几年几乎不可能实现。因为之前没有能够掌握核心技术,但随着浏览器对ES6/ESM支持的进步,HTTP/2的广泛采用,以及令人振奋的import maps新标准,这一愿景才能得以实现。Rails 站在这些技术进步的肩膀上,为前端提供了一种无节点的默认方法--在此过程中既不牺牲对npm包的访问,也不牺牲现代JavaScript。

Hotwire将Turbo和Stimulus结合在一起,提供了制作出色的用户体验所需的所有工具,与单页应用程序相比,几乎没有任何遗漏,而且复杂程度很低。它是新的Rails应用程序的默认选择,取代了Turbolinks和Rails UJS的有限选择。

虽然考虑到这些默认选项,大多数Rails应用都不需要依赖Node,但我们仍然设法为那些需要依赖Node的Rails 7 用户大幅改善了集成。

与Webpacker紧密耦合的Webpack已不复存在,取而代之的是与任何JavaScript捆绑器松散耦合的拥抱。无论你喜欢esbuild还是rollup.js,甚至Webpack,都可以通过新的jsbundling-rails集成来使用,可以用--javascript esbuild为新的应用程序预先配置。

对依赖Node的CSS捆绑器也采取了同样的方法。在Rails 7中,只需要能够产生一个编译好的application.css文件,就可以完美地整合。从Tailwind CSS到Bootstrap,从Dart驱动的Sass到PostCSS。如果你愿意接受Node依赖的复杂性,就可以预先配置新Rails应用程序,使用任何一个-css bootstrap,它就会使用cssbundling-rails。(针对于Tailwind,甚至有一个不依赖Node的版本!)

Rails的其它功能和更新包括:

  • Active Record支持工作加密

Active Record添加了加密属性,所以应用程序除了传统的静态和传输中的覆盖之外,还可以提供工作中的加密。

这个更新的直接好处是为加密敏感属性增加了一个额外的安全层。例如,如果一个攻击者获得了对你的数据库、数据库的快照或你的应用程序日志的访问权,他们将无法理解加密的信息。即使不考虑恶意行为者,出于合法原因检查应用日志也不应该暴露客户的个人信息。

但更重要的是,通过使用该加密,你可以在代码层面上定义什么是应用程序中的敏感信息。这样就可以控制这些信息的访问方式,并围绕它建立服务。

  • 使用 Marginalia 样式标记跟踪查询来源

十年前,Marginalia从Basecamp中提取出来,用SQL注释标签追踪查询源头。现在,这个外部工具已经作为QueryLogs上传到了Active Record。

  • 异步查询加载

当一个控制器动作需要加载两个不相关的查询时,现在可以通过Relation#load_async并发进行。如果有三个复杂的查询,每个需要100毫秒,之前必须花300毫秒逐一执行,但现在可以并行运行,总共只花费100ms。

  • Zeitwerk

Rails中自动加载是一种很神奇的存在,它常被认为是理所当然的,但是之前 const_missing 方法其实有很多缺失的功能,现在,它终于被 Zeitwerk 代码加载器完全取代。

  • 其他亮点

Spring不再是默认开启的;

ActionController::Live#send_stream可以轻松传输在控制器 action中即时生成的文件;

并行测试可以比较CPU核心数和测试数,并相应地扩展并行化;

Active Storage使用更快和更安全的libvips作为其默认变体处理器。

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

如果你想用Python开辟副业赚钱,但不熟悉爬虫与反爬虫技术,没有接单途径,也缺乏兼职经验
关注下方微信公众号:Python编程学习圈,获取价值999元全套Python入门到进阶的学习资料以及教程,还有Python技术交流群一起交流学习哦。
attachments-2022-06-1VY9FTuE62b188b867cf8.jpeg
  • 发表于 2021-12-21 09:09
  • 阅读 ( 963 )
  • 分类:行业资讯

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章