Ruby on Rails 7.1 扩充Docker支援,并计划采用Trilogy作为预设MySQL转接器

2023年9月19日,Ruby on Rails 7.1 Beta版本发布,引进多项重要更新,包括改良Docker部署、非同步查询强化、支援MySQL转接器Trilogy及新的JavaScript执行环境Bun。

Ruby on Rails即将迈入20岁,官方着手准备7.1庆生版本,现在先释出Beta版本供开发者测试。Ruby on Rails 7.1 Beta版本加入了一系列重要更新,其包括改善Docker部署,强化身分验证工具、扩充Active Record的非同步查询功能,并新增MySQL转接器(Adapter)Trilogy的支援。此外,这个版本还在Active Job和自动载入方面进行最佳化,还加入了新的JavaScript执行环境Bun

当开发者使用指令建立新应用程式时,Ruby on Rails现在会自动生成所有需要的Docker档案,供开发者使用Kamal或是其他以Docker为基础的工具来部署应用程式。官方提到,这些Docker档案都经过调整,使其适用于生产环境,具备正确的快取层并通过多阶段建构减少映像档大小,而且无论开发者是否使用JavaScript建置环境,Docker档案都会包含所需相依项目。

在现代网页开发中,JavaScript建置环境已经变得相当重要,可用来转换、压缩甚至是最佳化前端程式码,而在使用Docker时,Docker档案需要确保容器内包含正确的工具和设定,来处理JavaScript工作流程。Ruby on Rails所生成的Docker档案不只考虑到Rails应用程式在伺服器端的部分,同时考虑前端建置需求,Ruby on Rails 7.1这项新功能,无论开发者在Rails应用程式中是否使用JavaScript建置流程,其生成的Docker档案都能确保应用程式在容器中顺利运作。

Ruby on Rails新版本内建对MySQL转接器Trilogy的支援。Trilogy是由GitHub开发,目标是成为mysql2的替代品,提供更好的效能、灵活性,以及嵌入的简易性。官方提到,现在GitHub与Shopify生产环境都已经采用Trilogy,官方提到,在此新版Rails先提供Trilogy支援,而下一个主要版本,Trilogy可能就会成为预设选项。

Ruby on Rails中负责操作资料库和定义资料库模型的核心元件Active Record,能够将资料库中的资料表映射到Ruby物件中,让开发者能够以物件导向的方式操作资料库。而在7.1版本中,Active Record非同步查询获得强化,开发者能够在同一时间内,平行执行多个、速度较慢的查询,特别是那些着重运算的操作,并以非同步的方式继续处理其他请求。

同时,Ruby on Rails也支援了对复合主键功能。依据Shopify的实际经验,复合主键能提高常见的查询效能5到6倍,并且慢速查询的数量减少80%。尽管复合主键使资料插入操作明显变慢,但是当读取操作远多于写入的大型资料表来说,这样的效能提升非常有价值。

Ruby on Rails中的Active Job增加了一种新方法,使得伫列大量工作更有效率,开发者可以一次性将一大批工作放入伫列中,减少伫列资料储存多次往返所产生的成本开销。另外,新版本还增加新的配置方法,强化应用程式自动载入功能,特别是包含lib目录的情况。

值得注意的是,Ruby on Rails从这个版本开始支援使用Bun作为JavaScript执行环境,生成新的应用程式。Bun是一款诉求快速的JavaScript执行环境与多合一工具包,才刚释出1.0正式版,官方称Bun可达Node.js的5倍速。


文章来源:https://www.ithome.com.tw/news/158795



免责声明:

1、本站资源由自动抓取工具收集整理于网络。

2、本站不承担由于内容的合法性及真实性所引起的一切争议和法律责任。

3、电子书、小说等仅供网友预览使用,书籍版权归作者或出版社所有。

4、如作者、出版社认为资源涉及侵权,请联系本站,本站将在收到通知书后尽快删除您认为侵权的作品。

5、如果您喜欢本资源,请您支持作者,购买正版内容。

6、资源失效,请下方留言,欢迎分享资源链接

文章评论

0条评论